我在循环中有一个函数,如果出现错误,我希望循环继续。 我试过了:
for (num in 1:20) {
tryCatch(fnABC(num),error=0)
}
但循环因错误而停止,我收到一条消息:
tryCatchOne中的错误(expr,名称,parentenv,处理程序[[1L]]):
尝试应用非功能性
我很想知道我做错了什么。
答案 0 :(得分:2)
tryCatch的错误参数应该是一个函数,尽管与@joran不同,我无法在帮助页面的任何“详细信息”部分中看到此文档。但是,很明显,从第4个例子开始(如果你从错误信息中得到了适当的思路)。
答案 1 :(得分:1)
您可以使用“尝试”功能完成任务:
for (num in 1:20) {
try({
fnABC(num)
}, silent=T)
}
答案 2 :(得分:0)
for (num in 1:20) {
tryCatch(fnABC(num),error = function(e) {error=0 } )
}