エラー処理は、PHP アプリケーションを開発する際に非常に重要な部分です。エラー処理は、問題を迅速に特定して解決し、プログラムの信頼性と安定性を向上させるのに役立ちます。 PHP には、プログラムの実行中にエラーを検出して処理するのに役立つ多くのエラー処理関数が用意されています。この記事では、PHPのエラー処理機能について詳しく紹介します。
PHP には複数のエラー報告レベルがあり、さまざまなレベルのエラーがエラー処理関数によって捕捉され、それに応じて処理されます。 PHP のエラー報告レベルは次のとおりです。
E_ERROR: 致命的なエラー。プログラムの実行を続行できないエラーです。 die()関数またはtrigger_error()関数を使用して処理できます。
E_WARNING: 致命的エラーではありませんが、プログラムの正しい実行に影響します。警告レベルは、error_reporting() 関数と ini_set() 関数を使用して変更できます。
E_PARSE: 構文エラー、プログラムが解析できないエラー。
E_NOTICE: 有益なエラー、未定義変数の使用など、プログラムの実行に影響を及ぼさない一部のエラー。
E_STRICT: コーディングの提案。プログラム作成に関する特定の提案がありますが、プログラムの実行には影響しません。
PHP7.0 以降、E_DEPRECATED エラー レベルが削除されたことに注意してください。
PHP には多くのエラー処理関数があります。以下に、一般的に使用されるエラー処理関数をいくつか示します。
a. die() 関数
die() 関数は、エラー メッセージを出力し、スクリプトの実行を停止するために使用され、exit() 関数と同等です。通常、重大なエラーが発生した場合に使用されます。例:
if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
b. error_reporting() 関数
error_reporting() 関数は、スクリプトがどのエラーを報告するかを設定します。コード内でこの関数を使用して、エラー報告レベルを制限することを選択できます (例:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
c. set_error_handler() 関数
set_error_handler() 関数は、ユーザー定義のエラー処理を登録します。 PHP エラー ハンドラーとして機能します。例:
function errorCallback($errno, $errstr, $errfile, $errline ) { echo "<b>Error:</b> [$errno] $errstr - $errfile:$errline"; die(); } set_error_handler("errorCallback");
d.trigger_error() 関数
trigger_error() 関数は、スクリプトでエラーを手動でトリガーするために使用されます。例:
if($value > 100) { trigger_error("Invalid value", E_USER_ERROR); }
e. try...catch ステートメント
try...catch ステートメントは、例外をキャッチして処理するために使用されます。 try ブロックでは、例外をスローする可能性のあるコードを記述します。 catch ブロックでは、例外をキャッチし、それに応じて処理します。例:
try { $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { throw new Exception("Connection failed: " . mysqli_connect_error()); } } catch (Exception $e) { echo "Error: " . $e->getMessage(); }
f. set_Exception_handler() 関数
set_Exception_handler() 関数は、ユーザー定義の例外処理関数を現在の例外ハンドラーとして設定するために使用されます。例:
function exceptionHandler($exception) { echo "Uncaught exception: " . $exception->getMessage(); } set_exception_handler("exceptionHandler");
上で紹介した PHP エラー処理関数に加えて、エラー ログを記録する別のエラー処理メソッドがあります。エラー ログを記録すると、問題をより深く理解し、迅速に特定して解決するのに役立ちます。
PHP には、エラー情報をファイルに書き込むことができる error_log() 関数が用意されています。
error_log("Error: Connection failed: " . mysqli_connect_error(), 3, "/var/log/php_error.log");
最初のパラメータはエラー情報で、2 番目のパラメータは指定されたログ レコード タイプ (0)はデフォルトのログ タイプを示し、3 はファイルへの書き込みを示します)。3 番目のパラメータは、指定されたログ ファイルへのパスです。
以上がPHPのエラー処理機能を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。