detectar un error y luego bifurcar la lógica
¿Cómo escribo el código R que me permite ejecutar una ruta diferente en mi código si ocurre una condición de error? Estoy usando una función que tiende a arrojar un error. Cuando cumple una condición de error, me gustaría ejecutar una función diferente. Aquí hay un ejemplo específico:
require(SuppDists)
parms <- structure(list(gamma = -0.841109044800762, delta = 0.768672140584442,
xi = -0.359199299528801, lambda = 0.522761187947026, type = "SB"), .Names = c("gamma",
"delta", "xi", "lambda", "type"))
pJohnson(.18, parms)
la función pJohnson debería fallar con el siguiente error:
Error in pJohnson(0.18, parms) :
Sb values out of range.
Puedo silenciar el error usando:
try( pJohnson(.18, parms), silent=T)
pero lo que realmente quiero hacer es ejecutar la funciónalternativeFunction()
SipJohnson(.18, parms)
devuelve un error
Parece que elwithCallingHandlers()
La función debería ayudarme, pero no puedo entender cómo capturar el error y hacer que ejecute elalternativeFunction()
solo ante una condición de error.