【R】エラーをtry catchで回避する
silentをTRUEにすればエラーメッセージは表示されない。
e<-try( func(),silent=FALSE) if( class(e) == "try-error") { #エラー時の処理 }else{ #成功時の処理 }
例えば、文字列検索関数str_extractを実行したときに
'pattern'引数が不正です。
というようなエラーが出た時、どのpatternがエラーを起こしたのかエラーは吐き出してくれない。 そこで、try関数を利用することで、エラーの発生箇所を知ることができる。
tryCatch({ # エラーや警告が発生したときに例外処理を行いたいコード }, error = function(e) { #エラーが発生した時の処理 }, warning = function(e) { #警告が発生した時の処理 }, finnaly = { #ここに記載したコードは必ず実行される }, silent = TRUE )