Когда я использую 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
выше без файлового ввода-вывода, который не зависит от платформы.
Отредактируйте --приведенный выше код, похоже, работает только в Windows. Я ищу ввод, который вызвал ошибку.