我正在尝试使用try()stop()
和withCallingHandlers()
调试具有多层错误捕获的大型复杂R代码库。我面临的问题是options(error=recover)
和RStudio的Rerun with debug
无法在最深的错误位置(我想调试的地方)打开调试器,而是在最新的try()stop()
处理程序处打开(这已失去重要信息。)
我目前的解决方法是暂时删除try()
错误捕获并重新运行,这非常笨拙。我真的不想暂时重新定义try <- function(x)x
。
有没有办法运行options(error=recover)
并在第一次出错时恢复?