Обработка ошибок функции на R
Если обработчик сигнализирует об ошибке исполнения или загрузки функции на R, среда выполнения автоматически перехватывает ошибку и возвращает в ответ JSON-документ, содержащий информацию о типе ошибки. Формат этого JSON-документа описан в разделе Вызов функции.
Также информация об ошибке записывается в журнал выполнения, который можно просмотреть с помощью CLI Yandex Cloud или консоли управления
Примеры обработки ошибки
Ситуация 1: пользовательский код выходит за пределы массива, что приводит к выбрасыванию non-numeric argument to binary operator
. Среда выполнения перехватывает исключение и формирует из него JSON-документ, содержащий сообщение об ошибке (поле errorMessage
), тип ошибки (поле errorType
).
Код функции:
handler <-function() {
return(paste0('{"result":"', "1" + 2,'"}'))
}
Возвращаемый JSON-документ:
{
"errorMessage": "Error in a + b: non-numeric argument to binary operator\n",
"errorType": "simpleError",
}
Ситуация 2: пользовательский код сигнализирует об ошибке путем механизма выбрасывания
Код функции:
handler <- function() {
stop("Some error message")
}
Возвращаемый JSON-документ:
{
"errorMessage": "Error in handler(): Some error message\n",
"errorType": "simpleError",
}