を使用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")
しかし、もっと簡単な方法が必要だと思います..
どんなヒントでも大歓迎です!
懸賞金を出しました。プラットフォームに依存しないファイル I/O なしで上記の関数の動作を実装する最初の回答err_hdl
が受け入れられます。
編集 -- 上記のコードは Windows でのみ動作するようです。エラーが発生した入力を探しています。