在错误情况下停止R脚本的执行

在错误情况下停止R脚本的执行,r,R,如果执行R脚本在任何时候遇到错误,我想停止它,这样它就不会给出不需要的输出 我已经介绍了trycatch的几个示例,但对于如何将其集成到代码中,我没有太多的了解。下面是trycatch的语法 result = tryCatch({ expr }, warning = function(warning-condition) { warning-handler-code }, error = function(error-condition) { error-handler-

如果执行R脚本在任何时候遇到错误,我想停止它,这样它就不会给出不需要的输出

我已经介绍了trycatch的几个示例,但对于如何将其集成到代码中,我没有太多的了解。下面是trycatch的语法

result = tryCatch({
    expr
}, warning = function(warning-condition) {
    warning-handler-code
}, error = function(error-condition) {
    error-handler-code
}, finally={
    cleanup-code
})
使用上面的语法,如果脚本遇到任何类型的错误,如何阻止脚本执行forcestrong text


非常感谢您的帮助。

正如ahly所评论的,如果您想提前停止执行,您应该调用stop()。它使用字符串作为参数来说明脚本停止的原因

您可能知道,finally子句中的代码仍将被执行

tryCatch(stop("Called stop"), finally = {cat("Still executed")})
将给出以下信息

Error in tryCatchList(expr, classes, parentenv, handlers) : Called stop
Still executed
如果您想了解更多,R中的条件概念值得一读<代码>停止表示一个简单的错误情况,该情况在内部处理,并导致进程退出,并显示一条信息性消息。还可以为它指定一个条件对象,该对象将被执行


我自己发现这方面的语言文档有点稀少,但是。如果您以前使用过Lisp,您将认识到这一传统

您可以查看
stop