代码之家  ›  专栏  ›  技术社区  ›  Alex Holcombe

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

  •  1
  • Alex Holcombe  · 技术社区  · 15 年前

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

    陷阱捕捉 在R语言中,允许处理函数调用中的错误,也许这是解决方案的一部分?例如,这可能是在如下上下文中:

    handleErr <-function(e) {
        print("you had an error in function:")
        print( WHAT CAN I PUT HERE??! )
    }
    
    tryCatch(  myFunction(), error=handleErr )
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   nico    15 年前

    这应该管用

    handleErr <- function(e) 
        {
        cat(paste("you had an error in function: ", e$call, "\n"))
        }
    
    
    myfunct <- function()
        {
        stop()
        }
    
    tryCatch(myfunct(), error=handleErr)
    
        2
  •  0
  •   Greg Snow    15 年前

    查看traceback函数,它显示了最后一个错误发生时的调用堆栈,因此您可以看到哪个函数有错误,以及哪些函数调用了该函数等。

    还可以将选项(错误=)设置为在发生错误时要调用的函数,请参阅“帮助”中的“选项”以查看已使用此函数的某些函数。

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