如何访问生成错误或警告的函数的名称?

时间:2010-10-21 06:32:07

标签: r error-handling

如果出现警告或错误,我想打印生成错误的函数的名称。

R中的

tryCatch 允许一个人处理函数调用中的错误,也许它是解决方案的一部分?例如,这可能在以下情况中:

handleErr <-function(e) {
    print("you had an error in function:")
    print( WHAT CAN I PUT HERE??! )
}

tryCatch(  myFunction(), error=handleErr )

2 个答案:

答案 0 :(得分:1)

这应该有效

handleErr <- function(e) 
    {
    cat(paste("you had an error in function: ", e$call, "\n"))
    }


myfunct <- function()
    {
    stop()
    }

tryCatch(myfunct(), error=handleErr)

答案 1 :(得分:0)

查看traceback函数,它显示最后一次错误发生时的调用堆栈,这样你就可以看到哪个函数有错误,还有哪个函数调用了该函数等。

您还可以将选项(error =)设置为发生错误时要调用的函数,请参阅帮助选项以查看已经使用过的函数。

您还可以设置选项(警告= 2)以将警告提升为错误,以便上述工具也可以处理警告。