php 例外処理について
2011/10/27
基本的な書き方
- try
- {
- 何かの処理
- }
- catch ( Exception $e )
- {
- echo $e->getMessage();
- }
例外を作成
「throw new Exception()」を使う。
- function myFunc()
- {
- if ( ~~ )
- {
- ~~
- }
- else
- {
- throw new Exception(“例外時のメッセージ”);
- }
- }
- try
- {
- myFunc();
- }
- catch ( Exception $e )
- {
- echo $e->getMessage();
- }
めも
例外があった場合、try()内の以降の処理は飛ばされる
さんぷる
- function myFunc($num)
- {
- if ( $num !== 5 )
- {
- $num += 5;
- }
- else
- {
- throw new Exception(“「5」だ!”);
- }
- $num += 3;
- return $num;
- }
- try
- {
- echo myFunc(10);
- echo myFunc(5);
- }
- catch ( Exception $e )
- {
- echo $e->getMessage();
- }
- echo “えへへ”;
この場合だと下記のようになる。
「17行目」でmyFunc()を実行し、戻り値である「13」を出力。
「18行目」でmyFunc()を実行し、例外(?)を受取り「22行目」を実行。
「25行目」を実行。
※「18行目」を実行後止めたければ「exit」でもすれば良いと思う。
さんぷる2
- function myFunc($num)
- {
- if ( $num !== 5 )
- {
- $num += 5;
- }
- else
- {
- throw new Exception(“「5」だ!”);
- }
- $num += 3;
- return $num;
- }
- try
- {
- echo myFunc(10);
- echo myFunc(5);
- echo myFunc(10);
- }
- catch ( Exception $e )
- {
- echo $e->getMessage();
- }
- echo “えへへ”;
この場合だと下記のようになる。
「17行目」でmyFunc()を実行し、戻り値である「13」を出力。
「18行目」でmyFunc()を実行し、例外(?)を受取り「22行目」を実行。
「19行目」は、例外(?)を受取り済みなので実行はされない。
「25行目」を実行。
※「18行目」を実行後止めたければ「exit」でもすれば良いと思う。
ちなみにRubyはこっち→「ruby 例外処理について」