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

时间:2014-10-05 08:57:18

标签: r if-statement

我想在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
    )

1 个答案:

答案 0 :(得分:2)

您可以使用tryCatch

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

# [1] 1


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

# [1] 3

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