例外処理

例外処理

PHP5から、例外処理がサポートされるようになりました。エラーが発生した場合の処理が、例外オブジェクト生成→例外オブジェクトがエラーメッセージ等を返す、という形になります。例外に関する処理をまとめることができるので、スクリプトコードがすっきりし、可読性向上にも役立ちます。

例外処理は、try catch を使用します。例えば下の例のようになります。

function openfile($x) {
    if (file_exists$x) {
        $fp = fopen($x,"r");
    }  else {
        throw new Exception('ファイルが存在しません');
    }
}

try {
    openfile(hoge.txt);
} catch (Exception $e) {
    echo $e->getMessage();
}

Exceptionクラスには、例外メッセージを表示する他にも、以下のメソッドが用意されています。

  • getCode() 例外コードを取得
  • getFile() 例外が発生したファイルの名前を取得
  • getTrace() バックトレースを配列で取得
  • getTraceAsString() バックトレースを文字列で取得

Exceptionクラスを拡張して、オリジナル例外クラスを定義することができます。ただし前述のメソッド群は final 属性が付与されているので、オリジナルクラスで再定義することはできません。

タグ

トラックバック&コメント

この記事のトラックバックURL:

まだトラックバック、コメントがありません。

コメントを投稿する




»
«