エラー処理手法を使用した 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 サイトの他の関連記事を参照してください。