Code Fix

上級 › tryCatch の error ハンドラは warning を捕まえない › パターン3

tryCatch の error ハンドラは warning を捕まえない

tryCatch(expr, error = function(e) ...)のerrorハンドラは、条件クラスがerrorであるものしか捕まえません。

 1  parse_num <- function(s) {
 2    tryCatch({
 3      n <- as.numeric(s)
 4      n
 5    }, error = function(e) {
 6      -1
 7    }__________________________)
                    ^
 8  }
 9  result <- parse_num("abc")
10  cat("result:", result, "\n")
出力: result: NA

空欄を埋めて実行を通す

広告
広告スロット(未設定)

tryCatch の error ハンドラは warning を捕まえない

warning()で発生させた警告は、実行が止まらないままerrorハンドラをすり抜けます。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)