отлов ошибки и затем логика ветвления

Как мне написать код R, который позволяет мне выполнить другой путь в моем коде, если возникает условие ошибки? Я использую функцию, которая имеет тенденцию выдавать ошибку. Когда он встречает ошибку, я хотел бы выполнить другую функцию. Вот конкретный пример:

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)

функция pJohnson должна завершиться с ошибкой:

 Error in pJohnson(0.18, parms) :
 Sb values out of range.

Я могу заставить ошибку замолчать, используя:

try( pJohnson(.18, parms), silent=T)

но то, что я действительно хочу сделать, это выполнить функциюalternativeFunction() еслиpJohnson(.18, parms) возвращает ошибку.

Кажется, чтоwithCallingHandlers() функция должна помочь мне, но я не могу понять, как зафиксировать ошибку и заставить ее запуститьalternativeFunction() только при условии ошибки.

Ответы на вопрос(2)

Ваш ответ на вопрос