PHP には 3 種類のエラー レポートがあります:
1. エラー、構文解析エラー、致命的エラー
2. 警告
3.
結果に注意してください:
エラー-> 致命的なエラーにより、ダウンロードされたプログラムの実行が終了します。構文エラーがあるため、PHP はまったく動作せず、実装されていませんでした。
警告 -> 実行は終了しませんが、結果に影響します。
注 -> は実行を終了せず、結果には影響しません。
ユーザーにより良いエクスペリエンスを提供するために、すべてのエラー出力 (表示ではなく出力) をマスクします。ただし、この場合、管理者はエラーを確認できません。エラーはページには表示されませんが、管理者が参照できるようにログが生成されます。
error_reporting(~E_ALL)
すべての出力はブロックされており、当然、管理者は出力を確認できません。すべての出力をブロックするのではなく、すべての表示をブロックしたいだけです。 ini_set('display_errors','off');
は、ページ上のすべてのエラー表示はブロックされますが、エラー出力はブロックされないことを意味します。ブロックされました。
ini_set('log_errors','on'); //开启日志写入功能 ini_set('error_log','myerror.log'); //日志的存放位置 ini_set('display_errors','off'); //屏蔽页面显示 error_reporting(E_ALL); //输出所有错误 echo 123; echo $str; //这个会出现一个注意,表示未声明变量 echo date(); //警告,没有传参 echo dae(); //致命错误,找不到这个函数 echo 123;
Exception:
PHP 言語では、自動的に例外をスローする JAVA のような言語とは異なり、すべての例外を自らスローする必要があります。これが、PHP ソース コードで例外処理ステートメントがほとんど見られない理由の 1 つです。
例外とエラー:例外とは、期待を満たさず、プログラム動作中の通常のプロセスとは異なる状態を指します。このエラーはそれ自体の問題であり、コンパイラがチェック設定を通過して実行するのを妨げる、不正な構文または環境上の問題によって引き起こされます。
PHP には当初例外処理がなかったため、エンタープライズ レベルの開発に参入するために後に模倣されました。 PHP が異常なコードを検出すると、ほとんどの場合、例外ではなく直接エラーがスローされます。
php は、例外をスローした後に try...catch を使用して例外をキャッチすることしかできません (これは一般的に当てはまり、一部の例外は自動的にキャッチできます)。
PHP では、通常、例外は次のシナリオで使用されます:1. プログラムの悲観的な予測: コードがさまざまな考えられる問題を処理できないと思われる場合、予見可能な状況、予見できない状況によって。
2. プログラムのニーズとビジネス上の懸念事項: データの一貫性が非常に高い場合は、try...catch を使用して例外による論理中断のダメージを最小限に抑え、例外を修復できます
After処理中、ビジネス ロジックの整合性は影響を受けません。
3. 言語レベルでの堅牢性要件: ランタイム プロセスを正確に制御することにより、プログラムが中断されたときに、try...catch を予測どおりに使用して、起こり得るエラーの範囲を狭め、例外を適時にキャッチします。および
対応する救済策を提供します。
PHP のエラー:エラーとは、スクリプトが異常に実行される原因となる状況です。
php の主なエラー レベルは次のとおりです:
deprecated: 最低级别的错误,表示"不推荐, 不建议"。例如在php 5中使用了ereg系列的正则函数就会出现。这类错误一般由于使用了不推荐的、过时的函数或语法造成。不影响程序正常运行,但建议修正。 notice: 一般指语法中存在不恰当的地方。如使用变量但是未定义就会报此错误。不影响程序正常流程。 warning: 较高级别的错误,在语法中出现很不恰当的情况才会出现此错误,比如函数参数不匹配。会导致得不到预期的结果,需要修改代码。 fetal error: 致命错误,直接导致程序终止运行。这类错误必须修改。 prase error: 语法解析错误,上面几种都属于运行时错误,此错误在运行前就会抛出。カスタム エラー ハンドラー:
set_error_handler() 関数を使用できます。マネージド エラー ハンドラーを使用すると、エラー処理プロセスをカスタマイズできます。
ホスティングをキャンセルしたい場合は、同じページでrestore_error_handler()を使用してホスティングをキャンセルできます。自分でエラーをスローしたい場合は、trigger_error()関数を使用できます。
推奨チュートリアル:
PHP ビデオ チュートリアル以上がPHP例外処理はどのようなエラーをキャッチしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。