phpでは、対処すべきエラーが頻繁に発生します。以下に、phpの例外処理、エラー報告、およびログの内容をいくつかまとめて紹介します。
エラー処理:
1.2. 実行時エラー3. ロジックエラーエラー報告:エラー: E_ERROT プログラムが中断され、エラーが発生しました警告: E_WARNINGプログラムは中断されませんが、一部の機能は実装されない可能性があります注: E_NOTICE はプログラムには影響せず、完全にブロックできます開発中にすべてのエラー レポートを出力し、実行中にすべてのエラー レポートを無効にしますエラーをlog: 1. ログをオンにし (php.ini でerror_log = On)、エラー報告をオフにします (エラーが発生した場合、直接出力は許可されません)。ログ パスは指定されていません。デフォルトで書き込まれます。 Web サーバー ログを入力します。
エラー レポートを設定します。error_reporting(E_ALL) //输出所有报告
設定ファイルを変更します。
:ini_set(“display_errors”,off) //修改为不显示错误报告 ini_get(“upload_max_filesize”) //读取配置文件中上传文件大小限制
オブジェクト指向
エラー処理メソッドを提供します。例外処理は、指定されたエラー (例外) 状況が発生したときにスクリプトの通常のフローを変更するために使用されます。この状況を例外と呼びます。
例外がトリガーされると、通常は次のことが行われます: • 現在のコードの状態
が保存されます • コードの実行が事前定義された例外ハンドラー 関数に切り替えられます
状況に応じて、ハンドラーはコードを再起動する場合があります保存されたコード状態からの実行、スクリプト実行の終了、またはコード内の別の場所からのスクリプト実行の継続さまざまなエラー処理方法を示します:
•例外
基本的な使用法
•カスタム例外ハンドラーの作成•複数例外•例外を再スローします
•トップレベルの例外ハンドラーを設定します
構文:
try{ 可能出错的代码 throw new Exception(“异常信息”) }catch(Exception $e[异常对象]){ 后面的正常代码 }
function runtimeErrorHandler($level,$string) { //自定义错误处理时,手动抛出一个异常实例 //为了把错误级别代码也显示出来,这里拼接了错误代码和错误信息作为新的错误信息来传递。 throw new Exception($level.'|'.$string); } //设置自定义错误处理函数 set_error_handler( "runtimeErrorHandler"); try { $a=2/0; //这里制造一个以前无法截获的除0错误 } catch(Exception $e) { echo '错误信息:', $e->getMessage(); //显示错误,这里就可以看到错误级别和错误信息了“2|Division by zero” }
2. try のコードに例外がある場合は、例外オブジェクト $e をスローします。 catch() でキャプチャされたときの例外オブジェクトを指します。その後、1 を実行し続けます。try のコードに例外がなければ、正常に実行されます。
3.$e->getMessage() は例外情報を取得します
カスタマイズされた例外クラス:
機能: 特定の例外を解決するためのメソッドをいくつか記述します (組み込みクラスには処理メソッドがありません)1.例外クラスは、例外 (組み込みクラス) のサブクラスである必要があります
2. 例外クラスの
コンストラクター メソッドと toString() のみをオーバーライドできます
•例外が必要です 潜在的な例外をキャッチするには、処理コードを try ブロック内に配置する必要があります。
•すべての try ブロックまたは throw ブロックには、対応する catch ブロックが少なくとも 1 つ必要です。•複数の catch ブロックを使用して、さまざまな種類の例外をキャッチします。
•例外は、try ブロック内の catch ブロックで再スローできます。
上記は、PHP の例外処理、エラー報告、およびログの詳細な説明です。さらに関連するコンテンツについては、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。