【问题标题】:How can I access the name of the function generating an error or warning?如何访问生成错误或警告的函数的名称?
【发布时间】:2010-10-21 06:32:06
【问题描述】:

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

R 中的

tryCatch 允许处理函数调用中的错误,也许这是解决方案的一部分?例如,这可能是在这样的上下文中:

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

tryCatch(  myFunction(), error=handleErr )

【问题讨论】:

    标签: r error-handling


    【解决方案1】:

    这应该可以工作

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

    【讨论】:

      【解决方案2】:

      查看回溯函数,它显示了上次错误发生时间的调用堆栈,因此您可以看到哪个函数出现错误以及哪个函数调用了该函数等。

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

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

      【讨论】:

        猜你喜欢
        • 2012-05-09
        • 1970-01-01
        • 1970-01-01
        • 2011-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-10
        相关资源
        最近更新 更多