PHP でエラー処理を実装する手順は次のとおりです。 set_error_handler() を使用してエラー ハンドラーを関数に接続し、エラー ハンドラーを定義し、キャプチャするエラー タイプを指定します。エラー ハンドラーでキャプチャし、エラー情報を出力するなどのエラーを処理します。エラー タイプをカスタマイズし、キャプチャするカスタム エラーを指定できます。デフォルトのエラー処理動作に戻すには、restore_error_handler() を使用します。
PHP では、プログラムが安定して確実に実行されるようにするためにエラー処理が重要です。エラー ハンドラーを関数に接続すると、関数呼び出しで発生する可能性のあるエラーをキャッチして処理できます。
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
$error_handler
: エラーを処理するために使用される呼び出し可能オブジェクト。$error_types
(オプション): キャッチするエラーのビットマスク定数。2 つの数値の商を計算する関数を作成し、エラー処理を使用して除数が 0 の場合を処理してみましょう:
function divide($numerator, $denominator) { if ($denominator == 0) { trigger_error("Cannot divide by zero", E_USER_ERROR); } return $numerator / $denominator; }
次に、この関数でエラーをキャッチするエラー ハンドラーを設定します。
set_error_handler(function(int $errno, string $errstr) { if ($errno === E_USER_ERROR) { echo "Error: $errstr\n"; } }); $result = divide(10, 2); // 输出: 5 $result = divide(10, 0); // 输出: Error: Cannot divide by zero
trigger_error()
を使用してカスタム エラー タイプを作成することもできます。$error_types
を介してキャプチャするカスタム エラーを指定します:
function trigger_custom_error() { trigger_error("Custom error", E_USER_NOTICE); // 创建自定义错误 } set_error_handler(function(int $errno, string $errstr) { if ($errno === E_USER_NOTICE) { echo "Custom error occurred: $errstr\n"; } }); trigger_custom_error(); // 输出: Custom error occurred: Custom error
デフォルトのエラー処理動作に戻すには、restore_error_handler()
関数:
set_error_handler(function() {}); // 设置自定义错误处理程序 restore_error_handler(); // 恢复到默认错误处理
以上がPHP関数でのエラー処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。