try ( // 例外発生の可能性がるコード } catch (例外クラス名 変数) { // 例外発生時の処理 } try節の中には、例外が発生する可能性がある正常系処理のコードを記述します。 catch節の「()」には、第一引数に、try節で発生した例外をcatchする例外クラス名を指定します。 第二引数には、catchした例外クラスのインスタンスを代入する変数を指定します。
try ( // 例外発生の可能性がるコード } catch (例外クラス名 変数) { // 例外発生時の処理 } try節の中には、例外が発生する可能性がある正常系処理のコードを記述します。 catch節の「()」には、第一引数に、try節で発生した例外をcatchする例外クラス名を指定します。 第二引数には、catchした例外クラスのインスタンスを代入する変数を指定します。
平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 本件に関するお問い合わせはこちらよりお願いいたします。
目次例外を拡張する PHP は、他のプログラミング言語に似た例外モデルを持っています。 PHP 内で例外がスローされ (throw され)、それが 捕捉され (catch され) ます。発生した例外を 捕捉するには、コードを try ブロックで囲みます。 各 try ブロックには、対応する catch ブロックあるいは finally ブロックが存在する必要があります。 例外がスローされ、現在の関数スコープに catch ブロックがなかった場合、 その例外は、マッチする catch ブロックが見つかるまで関数のコールスタックを "遡って" いきます。 その途中で見つかった全ての finally ブロックが実行されます。 グローバルスコープに遡るまで全てのコールスタックを探しても、 マッチする catch ブロックが見つからない場合は、 グローバルな例外ハンドラが設定されていない限り fat
これ結構いい気がする…! finallyで後処理だけして、発生した例外を握り潰さず呼び出し元に投げる時に便利。 何もすごい事はしていないけど、割りと見やすくてなんとなくtry-catch-finallyっぽい。 見様によっては再throwを書く場所が違うだけに見えなくもない。 まぁtry内でreturnとかしてもfinallyブロックは実行されないけど。 早くPHPにもfinally実装されないかな。 <?php try { // 例外をスローする可能性のある処理 echo "try\n"; throw new Exception("err"); } catch (Exception $e) { // 例外処理 echo "catch\n"; } /* finally */ { // 最後に必ず実行される処理 echo "finally\n"; // 例外が発生していた場合は再throwす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く