Edited at

try {} catch {}

More than 3 years have passed since last update.

「例外処理」という予期しない処理(エラー)が発生した時に、実行する処理のこと。

たとえば、

・データベースにアクセスできない

・数値計算でゼロ除算

・ユーザーの入力値が不正

など。

通常、エラーが発生すると、

- PHPのエラーが表示され処理中断

- Warningだけ表示して処理続行

のような処理が行われるが、「例外処理」を設定すると、上記のようなエラー発生時にも処理を中断せず、エラーが発生した場合に実行する処理として指定しておいた例外処理を実行させることができる。

基本的に、

「tryブロック、throw文、catchブロック」という構成を取る。

トライで処理を実行して、エラーが発生したら例外をスロウ(投げる)して、投げられた例外をキャッチして例外時の処理を実行する。

具体的な処理方法は、以下のページに分かりやすい解説が掲載されている。

http://www.phppro.jp/phptips/archives/vol45/2

http://www.shigeweb.jp/php/project_p/?page=exception&section=php5oop

* スローされるオブジェクトは、Exception クラスあるいは Exception のサブクラスのインスタンスでなければなりません。 それ以外のオブジェクトをスローしようとすると PHP の Fatal Error が発生します。