try、throw、catch・・・PHP5の例外処理
PHP4も今年で終焉を迎えるので、近頃はあせりつつPHP5を勉強中。
といっても、たいていの場合今まで使っていたプログラムは動きそうなので、追加された機能を勉強している、といったところ。
PHP5になって例外処理ができるようになったとのこと。今までは「プログラム内にコーディングしてたから、いらないんじゃないの?」とか思ったけど、少し勉強してみると、確かに便利なのかもしれない。
基本的な構文はこんな感じ。
try{
//処理を実行
//エラーが出たらthrowしてcatchへジャンプするよう宣言
if(エラー){throw new exception(‘エラーメッセージ’);}
//エラーじゃなかった場合の処理を続行
//エラーが出たらthrowしてcatchへジャンプするよう宣言
if(エラー){throw new exception(‘エラーメッセージ’);}
//エラーじゃなかった場合の処理を続行
//処理完了
}catch(exception $e){
echo $e->getMessage();
}
ここでexceptionというのは、あらかじめそういう名前のクラスが定義されているらしい。場合によってはexceptionクラスを拡張したものも使うらしい(使い方まだわかんないけど)。catchできない例外が投げられたらエラーらしい(そりゃそうだろう)。catchできない例外って・・・それはプログラムの書き手が自分で管理する部分・・・だな。それよりも、結局はエラーのパターンを想定してやることのほうが大事か・・・。疑問は尽きない。
ただ個人的には今まで手作業でやっていたところの書き方が変わるだけの感じ。まだなじめない。でも他のプログラム言語ではこれが一般的なわけで、徐々に慣れていかざるを得ないだろう。
何事につけても、現状で満足しているやり方を、新しいやり方に変更するのは気が重いものだと痛感・・・。