如何在R中"抛出"错误?我有一个函数,它采用数据框和一些列名称,并用它们做的事情.如果列不存在,我希望函数停止并根据它停止所有函数.
我已经看过recover
并browse
和traceback
,但同时,他们似乎是接近,但不是我所期待的.
见help(tryCatch)
:
条件由'
signalCondition
'表示.此外,
'stop
'和'warning
'函数已被修改为也接受
条件参数.
后来在'See Also'下:
'
stop
'和'warning
'信号条件,'try
'基本上是' '的简化版本tryCatch
.
所以你可能想要stop
.
简单的例子:
f <- function(a, b){ if (a == 0){ stop("error message") } }
除了Dirk提到的基本功能:
该R.oo包具有附加的异常处理的功能,包括掷()函数,它是非常有用的.您可以使用常用的try或trycatch函数捕获异常:
> try(throw("Division by zero.")); print("It's ok!"); Error: [2009-10-22 10:24:07] Exception: Division by zero. [1] "It's ok!"
你可以在这里阅读更多相关信息:http://www1.maths.lth.se/help/R/R.oo/