Проблема заключается в попытке записи объекта класса
c("simpleError", "error", "condition")
в файл CSV. Или даже в текстовый файл с write.table
. Когда я попытался использовать writeLines
, я забыл, что аргумента append
нет, поэтому будет записана только последняя ошибка с i == 20
.
Решение, которое я нашел, заключается в выводе в файл с cat
.
Обратите внимание, что err
приведен к "character"
.
work <- function(list){
for(i in list){
tryCatch(tryBlock(i),
error = function(err){
msg <- paste("iter:", i, "\n")
msg <- c(msg, paste("error:", as.character(err), "\n"))
cat(msg, file = "falseOutput.txt", append = TRUE)
}
)
}
}
work(1:20)
#1234567891011121314151617181920
Первые строки файла являются:
iter: 11
ошибка: ошибка в tryBlock (i): условие ложно
iter: 12
ошибка: ошибка в tryBlock (i): условие ложно
итер: 13
ошибка: ошибка в tryBlock (i): условие ложно