R Script - Как продолжить выполнение кода при ошибке
Я написал R script, который включает в себя цикл, который извлекает внешние (веб-данные). Формат данных в большинстве случаев одинаковый, однако иногда формат изменяется непредсказуемым образом, и мой цикл сбой (останавливается).
Есть ли способ продолжить выполнение кода независимо от ошибки? Я ищу что-то похожее на "On error Resume Next" из VBA.
Спасибо заранее.
Ответы
Ответ 1
Используйте try
или tryCatch
.
for(i in something)
{
res <- try(expression_to_get_data)
if(inherits(res, "try-error"))
{
#error handling code, maybe just skip this iteration using
continue
}
#rest of iteration for case of no error
}
Ответ 2
Вы можете использовать try
:
# a has not been defined
for(i in 1:3)
{
if(i==2) try(print(a),silent=TRUE)
else print(i)
}
Ответ 3
Как насчет этих решений по этому связанному вопросу:
Есть ли способ` source() `и продолжить после ошибки?
Либо parse(file = "script.R")
, за которым следует цикл 'd try(eval())
для каждого выражения в результате.
Или пакет evaluate
.