ホームページ > バックエンド開発 > PHPチュートリアル > PHP 警告を効果的にキャッチして処理するにはどうすればよいですか?

PHP 警告を効果的にキャッチして処理するにはどうすればよいですか?

DDD
リリース: 2024-12-31 01:59:09
オリジナル
992 人が閲覧しました

How Can I Effectively Catch and Handle PHP Warnings?

エラー処理手法を使用した PHP 警告の捕捉と処理

PHP では、警告は例外として扱われないため、特定の処理が必要な場合に課題が生じます失敗した DNS で警告をトリガーする dns_get_record などのネイティブ関数からの警告

これに対処するには、次の 2 つの主なアプローチが存在します。

1.エラー ハンドラーの設定と復元:

1 つの方法は、警告を生成する可能性のあるコードを実行する前に、set_error_handler() を使用してカスタム エラー ハンドラーを一時的に設定することです。呼び出し後、restore_error_handler() を使用して元のエラー ハンドラーを復元できます。これにより、以下に示すように、特定のエラーを無視したりログに記録したりすることができます:

set_error_handler(function() { /* ignore errors */ });
dns_get_record();
restore_error_handler();
ログイン後にコピー

2.エラーを例外に変換する:

set_error_handler() を ErrorException クラスと組み合わせて使用​​すると、PHP エラーを例外に変換できます。これにより、try-catch ブロックを使用したエラー処理が可能になります:

set_error_handler(function($errno, $errstr, $errfile, $errline) {
    if (0 === error_reporting()) {
        return false;
    }

    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
});

try {
    dns_get_record();
} catch (ErrorException $e) {
    // ...
}
ログイン後にコピー

抑制とエラー処理:

@ 演算子を使用して警告を抑制することも誘惑されますが、エラーや警告には理由があり、抑制するのではなく処理する必要があるため、通常は推奨されません。

以上がPHP 警告を効果的にキャッチして処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート