PHPのError
コーディングや実行時に発生する問題を、 エラー (error) や警告 (warning) そして注意 (notice) などの形式で報告するもの。
PHP 7より前のError
Catchできない。 エラーのレベルは様々で代表的なもので下記のようなものがある。 E_ERROR E_WARNING E_PARSE E_NOTICE その他の定義済み定数
エラーが発生した時にPHPの挙動を決める項目
- error_reporting
どのレベルのエラーをユーザに報告するかを決定する。
開発中は
E_ALL
にすると、すべてのエラーが報告されるので問題が発生しやすそうな箇所で気づきやすくなる。 - display_errors エラーの内容を出力するかどうか。 運用時は無効にするべき。
- log_errors エラー発生時にログを記録するかどうか。
ユーザ定義のエラーハンドラ
set_error_handler()
で自作のエラーハンドラを設定することができる。
PHP 7以降のError
Catchできる。ただし、Exceptionクラスを継承しているわけではない。 クラスとして存在する。 Throwableインターフェースを実装している。