上級 › tryCatch の error ハンドラは warning を捕まえない › パターン4
tryCatch の error ハンドラは warning を捕まえない
tryCatch(expr, error = function(e) ...)のerrorハンドラは、条件クラスがerrorであるものしか捕まえません。
1 safe_div_check <- function(a, b) { 2 tryCatch({ 3 if (b == 0) warning("division by zero") 4 a / b 5 }, error = function(e) { 6 NA 7 }__________________________) ^ 8 } 9 result <- safe_div_check(10, 0) 10 cat("result:", result, "\n")
出力: result: Inf
空欄を埋めて実行を通す
0除算はwarning()で警告を出すだけで実行は止まらず、errorハンドラには捕まらないままInfという結果になります。
次の問題