PHP 例外処理

例外処理のこと

よく目にするエラー

  • E_PARSE:コードが文法的に誤っている時に発生
          処理は行われない
  • E_ERROR:処理を継続することができなくなった時に発生
          発生したところで処理停止
  • E_WARNING:想定外の問題が起こったときに発生
           処理を継続することが可能
  • E_NOTICE:想定内の問題が起こったときに発生
          処理を継続することは可能

例外処理(Exception)の機能

  • try:あらかじめコードを指定し、プログラム実行時に処理の問題を検出
  • catch:問題検出後、どのように対応するか記述しておく
  • throws:対応を記述していない場合、メソッドの呼び出しもとに対応を任せる

例外が発生する例

  • ゼロで割り算
  • 数値変換で、数字で内文字を指定
  • 配列の範囲外にアクセス
  • ファイルが存在しない
  • オブジェクトがnull
  • 引数が不正 等

簡単な例外処理

記述例

<?php
echo "start\n";
try {
    $date = new DateTime("199x-01-01");
    echo $date->format('Y/m/d') . "\n";
} catch (Exception $e) {// 例外が発生した場合
    echo $e->getMessage(). "\n"; // エラー情報を表示
} finally { //例外があっても無くても必ず記述したい場合
    echo "end\n";
}
?>
  • X