例外の階層

標準のPHPで提供されている例外にどんなものがあるのか調べたのでメモメモ。

  • Exception すべての例外の基底クラス
    • ErrorException エラー例外
    • LogicException 論理式が無効な場合にスローされる例外
      • BadFunctionCallException 未定義の関数をコールバックが参照したり、引数を指定しなかったりした場合にスローされる例外
      • BadMethodCallException 未定義のメソッドをコールバックが参照したり、引数を指定しなかったりした場合にスローされる例外
      • DomainException 定義したデータドメインに値が従わないときにスローされる例外
      • InvalidArgumentException 引数が期待値に一致しなかった場合にスローされる例外
      • LengthException 長さが無効な場合にスローされる例外
    • RuntimeException 実行時にだけ発生するようなエラー
      • OutOfBoundsException 値が有効なキーでなかった場合にスローされる例外
      • OutOfRangeException 値が範囲内におさまらなかった場合にスローされる例外
      • OverflowException いっぱいになっているコンテナに要素を追加した場合にスローされる例外
      • RangeException 無効な範囲が渡された場合にスローされる例外
      • UnderflowException 空のコンテナから要素を削除しようとした際にスローされる例外
      • UnexpectedValueException いくつかの値のセットに一致しない値であった際にスローされる例外