PHP関数でのエラー処理

PHPz
リリース: 2024-04-13 15:09:02
オリジナル
705 人が閲覧しました

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!