トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

技術的雑談-perlでのtry/catchの書き方

技術的雑談-perlでのtry/catchの書き方


 環境

perl 5(確認はperl5.8)

 現象

perlの中でscriptの例外を扱いたい。
Javaで言うところの「try/catch」みたいなスタイルで。

 対処

perlでは例外処理という便利な機能がない(いや、正確にはあるんですが…)ため、try/catchは"eval"文$@特殊変数で代用します。

  • eval -- 後に続くルーチンを実行評価する。(エラーを直接メインスレッド(?)に飛ばさない形で実行する。)
  • $@ -- 最後に実行したコマンドの戻り値(エラー値)を格納している特殊変数

書き方の例です↓

eval {
        <実行したい処理>
};     # <-ココのコロンを忘れる事が多いので注意

if($@) {
        <Error発生時に実行したい処理>
}

<通常の処理>

これはお約束ですので覚えてしまいましょう。


 履歴

2005/7/14 -- 初版

技術的雑談へ戻る

 突っ込み

name   comment  
URL (入力するとす ぱ むとみなします!)


技術的雑談へ戻る

TrackBack

TrackBack URL for this entry:
http://www.himajin2001.com/fswiki/tb.cgi/%B5%BB%BD%D1%C5%AA%BB%A8%C3%CC%2Dperl%A4%C7%A4%CEtry%3Acatch%A4%CE%BD%F1%A4%AD%CA%FD

技術的雑談へ戻る

最終更新日時:最終更新時間:2010年08月05日 00時37分24秒
トップページに戻る