R 我不知道';我不知道如何捕捉错误

R 我不知道';我不知道如何捕捉错误,r,R,我不知道如何捕捉错误 例如,我写了一个脚本: morph_input = tryCatch(prepareMorphObjectFromFiles(InputConfig,InputGOI), error=stop("Please Start Over,your Data Sets or uploaded GOI are not suitable.")) 我希望如果函数prepareMorphObjectFromFiles(InputConfig,InputGOI)

我不知道如何捕捉错误

例如,我写了一个脚本:

morph_input = tryCatch(prepareMorphObjectFromFiles(InputConfig,InputGOI),
              error=stop("Please Start Over,your Data Sets or uploaded GOI are not suitable."))

我希望如果函数
prepareMorphObjectFromFiles(InputConfig,InputGOI)
将中断,那么错误将弹出。但即使函数没有中断,它也会弹出。

您应该将错误处理函数作为
tryCatch()中的
error
参数传递。否则,将始终对其进行评估。例如:

tryCatch({
   if (runif(1) > 0.8) stop("catch me if you can!")
   else "OK"
},
error=function(err) {
   # an error handler
   cat("An error occured.\n")
})

您应该将错误处理函数作为
tryCatch()
中的
error
参数传递。否则,将始终对其进行评估。例如:

tryCatch({
   if (runif(1) > 0.8) stop("catch me if you can!")
   else "OK"
},
error=function(err) {
   # an error handler
   cat("An error occured.\n")
})

@gagolews给出了大多数人的偏好。我喜欢使用just
try
,这有助于我对代码进行更线性的思考(即分步思考)

out.7)停下(“如果可以的话抓住我!”)
否则“好”
},无声=真实)
if(继承(out,“try error”))消息(“出错”)

@gagolews给出了大多数人的偏好。我喜欢使用just
try
,这有助于我对代码进行更线性的思考(即分步思考)

out.7)停下(“如果可以的话抓住我!”)
否则“好”
},无声=真实)
if(继承(out,“try error”))消息(“出错”)

error的参数应该是函数,而不是函数调用。error的参数应该是函数,而不是函数调用。我写道:
morph\u input=tryCatch(prepareMorphObjectFromFiles(InputConfig,InputGOI),error=function(err){stop(“请重新开始,您的数据集或上载的GOI不合适。”)})
但它仍然没有work@dmitriy所以你抓住了错误。。。只会抛出另一个错误。您看到问题了吗?@dmitry,尽管只有在输入表达式中出现错误时,才应该出现错误。我们不知道是否有这样的问题,我写了以下内容:
morph\u input=tryCatch(prepareMorphObjectFromFiles(InputConfig,InputGOI),error=function(err){stop(“请重新开始,您的数据集或上传的GOI不合适。”)}
work@dmitriy所以你抓住了错误。。。只会抛出另一个错误。您看到问题了吗?@dmitry,尽管只有在输入表达式中出现错误时,才应该出现错误。我们不知道是否有,所以不能说太多。谢谢,我会试试。谢谢,我会试试。