gpt4 book ai didi

r - 使用 tryCatch 保存错误回溯

转载 作者:行者123 更新时间:2023-12-02 07:59:05 24 4
gpt4 key购买 nike

在我的 web 应用程序中调用 R 函数时,我想在发生错误时捕获堆栈跟踪并将其呈现给用户以进行调试。类似于交互式 session 中 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()

最佳答案

事实证明,最新版本的evaluate包有一个名为try_capture_stack的函数,这是一个漂亮的good implementation的这个。

关于r - 使用 tryCatch 保存错误回溯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16879821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com