[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