当我使用 时tryCatch
,我可以定义一个错误处理程序并使用它conditionCall
来确定导致错误的调用。例如,
tryCatch(
eval(parse(text="prnit('Hello')")),
error=function(e) {
cl <- conditionCall(e)
#...
})
我可以在 R 提示符下接听坏电话吗?到目前为止,我只找到了这个解决方案:
> err_hdl <- function() {
file1 <- tempfile("Rrawhist")
savehistory(file1)
rawhist <- readLines(file1)
unlink(file1)
cat("Error : ", tail(rawhist,1), "\n")
return(TRUE)
}
> options(error=err_hdl)
> prnit("Hello")
但我相信一定有更直接的方法..
任何提示表示赞赏!
我发出了赏金。将接受第一个实现上述err_hdl
功能的行为而没有平台独立的文件 I/O 的答案。
编辑——上面的代码似乎只适用于 Windows。我正在寻找引发错误的输入。