[R-es] control de errores en una función
Emilio L. Cano
emilopezcano en gmail.com
Mie Abr 15 13:59:34 CEST 2015
Hola Sergio,
Puedes evaluar tus expresiones y controlar errores dentro de la función
tryCatch, por ejemplo:
b <- 0
tryCatch(
{
for (i in 1:length(a)){
b <- b+1
}
},
error = function(e){
## Aquí puedes poner cualquier comprobación
cat("Se ha producido el siguiente error: ", e$message, "\n\tComprueba
que existe el objeto a\n")
},
finally = {
## Aquí puedes evaluar cualquier expresión
cat("Se ha producido un error en el código !!\n")
}
)
Un saludo,
Emilio
*Emilio L. Cano*
Mobile: +34 665 676 225
skype: emilopezcano
twitter: @emilopezcano
http://emilio.lcano.com
El 15 de abril de 2015, 12:20, Sergio Castro <
castro.rodriguez.sergio en gmail.com> escribió:
> Buenos días,
>
> Estoy realizando un desarrollo sobre un problema de programación
> lineal. Tengo una función en la que añado al modelo todas las
> restricciones y quiero controlar que esa parte no da error (por
> longitudes de vectores, por valores inexistentes, etc). He visto que
> existe, como en otros lenguajes, un tryCatch, pero no sé bien como
> utilizarlo. Estoy realizando pruebas a pequeña escala pero no me sale
> el resultado esperado. Por ejemplo con este código:
> > b<-0
> > for (i in 1:length(a)){
> + b<-b+1
> + }
>
> Error: objeto 'a' no encontrado
>
> Lo que quiero es poder controlar si se devuelve error para mostrar un
> mensaje más explicativo.
>
> Muchas gracias.
> Un saludo.
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es