try/catch で警告を処理できますか?
PHP の try/catch ブロック メカニズムは、警告ではなく例外用に設計されています。 dns_get_record の場合など、ネイティブ PHP 関数が警告をスローする場合、一般的なアプローチでは、次の代替戦略を使用します。
エラー ハンドラーの設定と復元
このメソッド関数を呼び出す前にカスタム エラー ハンドラーを設定し、呼び出し後に以前のエラー ハンドラーを復元することが含まれます。エラー ハンドラーを使用して警告を処理し、ログに記録できます。
エラーを例外に変換する
set_error_handler() 関数と ErrorException クラスを使用すると、PHP を変換できます。エラーを例外に変換します。これにより、try/catch ブロックを使用して警告をキャッチできます。
警告の抑制
推奨されていませんが、@ 演算子を使用して警告を抑制することができます。ただし、DNS クエリが失敗したかどうかを判断するには、抑制後の関数の戻り値をチェックする必要があります。
ベスト プラクティス
ベスト プラクティスの選択は、特定の状況によって異なります。および要件:
以上がtry/catch ブロックを使用して PHP 警告を処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。