测试ifelse命令中的R命令是否有错误



我想检查iflese命令中的R命令是否有错误。类似于下面的一个。我想知道如何完成这个。实际上,只有在前一个R代码中没有错误的情况下,我才想运行下面的代码。

ifelse(
      test= Check R Command has error or not
    , yes = FALSE
    , no = TRUE
    )

ifelse(
      test= log("a") # Has error
    , yes = 3
    , no = 1
    )

您可以使用tryCatch进行以下操作:

tryCatch({
  log(10)
  1
}, error=function(e) 3)
# [1] 1

tryCatch({
  log('a')
  1
}, error=function(e) 3)
# [1] 3

在上面的第二个示例中,第一个表达式(如上所述,可以是多行)抛出错误,因此执行传递给error参数的表达式。

最新更新