【发布时间】:2013-06-02 04:37:33
【问题描述】:
在我的 webapp 中调用 R 函数时,我想在发生错误时捕获堆栈跟踪并将其呈现给用户以进行调试。类似于traceback() 在交互式会话中的输出。但是,traceback 在错误处理程序中调用时似乎不起作用,它返回No traceback available:
f <- function() {
g <- function() stop("test traceback")
g()
}
errhandler <- function(e){
stacktrace <- traceback()
unlist(stacktrace);
}
out <- tryCatch(f(), error=errhandler)
有什么方法可以通过编程捕获错误的堆栈跟踪? IE。获取错误后手动调用traceback() 时会得到的输出:
f()
traceback()
【问题讨论】:
标签: r stack-trace cran