php でエラー プロンプトをキャプチャする方法: 1. "error_reporting(E_ALL);" を通じてすべてのエラーを出力します。 2. "try...catch" を使用して例外をキャッチします。 3. set_error_handler() 関数を使用します。ホストエラーハンドラーに。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
方法PHP のエラー プロンプトのキャプチャ ?
php 例外処理キャプチャ エラーの並べ替え
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;
ログイン後にコピー
例外:
PHP 言語では、自動的に例外をスローする JAVA のような言語とは異なり、すべての例外は自らスローされる必要があります。これはまさに PHP ソース コードにあるものです。
理由
の 1 つは、例外処理ステートメントがめったに見られないことです。
例外とエラー:
例外とは、期待を満たさず、プログラム動作中の通常のプロセスとは異なる状態を指します。このエラーはそれ自体の問題であり、コンパイラがチェック設定を通過して実行するのを妨げる、不正な構文または環境上の問題によって引き起こされます。
PHP には当初例外処理がなかったため、エンタープライズ レベルの開発に参入するために後に模倣されました。 PHP が異常なコードを検出すると、ほとんどの場合、例外ではなく直接エラーがスローされます。
php は、例外をスローした後に try...catch を使用して例外をキャッチすることしかできません (これは一般的に当てはまり、一部の例外は自動的にキャッチできます)。
例外は通常、PHP で次のようなシナリオで使用されます:
1. プログラムの悲観的な予測: コードがさまざまな予見可能な状況と予見できない状況を 1 つずつ処理できないと思われる場合。
2. プログラムのニーズとビジネス上の懸念事項: データの整合性要件が非常に高い場合は、try...catch を使用して、例外による論理中断のダメージを最小限に抑え、例外を修復できます
After処理中、ビジネス ロジックの整合性は影響を受けません。
3. 言語レベルの堅牢性要件: ランタイム プロセスを正確に制御することで、プログラムが中断されたときに try...catch を使用して、予想どおりに起こり得るエラーの範囲を絞り込み、適時に例外をキャッチし、
対応する救済策を提供します。
PHP のエラー:
エラーとは、スクリプトが異常に実行される原因となる状況です。
php の主なエラー レベルは次のとおりです:
非推奨: 最も低いレベルのエラー。これは「非推奨、非推奨」を意味します。たとえば、PHP 5 の ereg シリーズの通常関数を使用すると表示されます。このタイプのエラーは通常、非推奨または古い関数または構文を使用することによって発生します。プログラムの通常の動作には影響しませんが、修正することをお勧めします。
注意: 一般に、文法内の不適切な箇所を指します。このエラーは、変数が使用されているが定義されていない場合に報告されます。プログラムの通常の流れには影響しません。
警告: より高度なエラー。このエラーは、関数パラメーターの不一致など、構文に非常に不適切な状況がある場合に発生します。その結果、期待した結果が得られず、コードを変更する必要があります。
胎児エラー: プログラムの終了を直接引き起こす致命的なエラー。このようなエラーは修正する必要があります。
prase error: 構文解析エラー。上記はすべて実行時エラーです。このエラーは実行前にスローされます。
カスタム エラー ハンドラー:
set_error_handler() 関数を使用して、エラー ハンドラーをホストし、エラー処理プロセスをカスタマイズできます。
ホスティングをキャンセルしたい場合は、同じページでrestore_error_handler()を使用してホスティングをキャンセルできます。自分でエラーをスローしたい場合は、
trigger_error()関数を使用できます。 。
推奨学習: 「
PHP ビデオ チュートリアル
」
以上がPHPでエラープロンプトをキャッチする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。