ホームページ  >  記事  >  バックエンド開発  >  PHP関数でのエラー処理

PHP関数でのエラー処理

PHPz
PHPzオリジナル
2024-04-13 15:09:02707ブラウズ

PHP でエラー処理を実装する手順は次のとおりです。 set_error_handler() を使用してエラー ハンドラーを関数に接続し、エラー ハンドラーを定義し、キャプチャするエラー タイプを指定します。エラー ハンドラーでキャプチャし、エラー情報を出力するなどのエラーを処理します。エラー タイプをカスタマイズし、キャプチャするカスタム エラーを指定できます。デフォルトのエラー処理動作に戻すには、restore_error_handler() を使用します。

PHP 函数的错误处理

PHP 関数のエラー処理: 実践ガイド

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。