ホームページ バックエンド開発 PHPチュートリアル PHP エラーと例外処理の概要_PHP チュートリアル

PHP エラーと例外処理の概要_PHP チュートリアル

Jul 13, 2016 am 10:37 AM
PHP例外処理 PHPのエラー処理

通过日志记录功能,你可以将信息直接发送到其他日志服务器,或者发送到指定的电子邮箱(或者通过邮件网关发送),或者发送到操作系统日志等,从而可以有选择的记录和监视你的应用程序和网站的最重要的部分。
错误报告功能允许你自定义错误反馈的级别和类型,可以是简单的提示信息或者使用自定义的函数进行处理并返回信息.

为什么要使用错误处理?
1.是网站出错时对用户友好
2.更好的避免错误、调试、修复错误
3.避免一些安全风险
4.更好保证程序的健壮性
5.……
一、最简单的错误处理――die()
当我们预计有错误发生时,停止脚步的运行。比如连接数据库时:

复制代码 代码如下:

mysql_connect('localhost', 'root', '123456') or die ('连接数据库错误:'. mysql_error());

不过,简单地终止脚本并不总是恰当的方式。
二、自定义错误和错误触发器
我们创建一个错误处理专用函数,使用set_error_handler函数设置后,可以在 PHP 中发生错误时调用该函数。

1.定义错误处理函数的参数:

参数 描述
error_level 必需。为用户定义的错误规定错误报告级别。必须是一个值数。

     参见下面的表格:错误报告级别。

error_message 必需。为用户定义的错误规定错误消息。
error_file 可选。规定错误在其中发生的文件名。
error_line 可选。规定错误发生的行号。
error_context 可选。规定一个数组,包含了当错误发生时在用的每个变量以及它们的值。

2. 基本的な定義済み定数のエラー:
価値 定数 手順 備考
1 E_ERROR (整数) 致命的なランタイムエラー。このタイプのエラーは、メモリ割り当てによって引き起こされる問題など、通常は回復不可能な状況です。その結果、スクリプトが終了し、実行が続行されなくなります。
2 E_WARNING (整数) 実行時警告 (致命的ではないエラー)。プロンプト メッセージのみが表示されますが、スクリプトは終了しません。
4 E_PARSE (整数) コンパイル時の構文解析エラー。解析エラーはパーサーによってのみ生成されます。
8 E_NOTICE (整数) 実行時通知。スクリプトでエラーとして表示される可能性のある状況が発生したことを示しますが、正常に実行できるスクリプトにも同様の通知が表示される可能性があります。
16 E_CORE_ERROR (整数) PHPの初期化起動中に致命的なエラーが発生しました。このエラーは E_ERROR に似ていますが、PHP エンジン コアによって生成されます。 PHP 4以降
32 E_CORE_WARNING(整数) PHP の初期化起動中に警告 (致命的ではないエラー) が発生しました。 E_WARNING に似ていますが、PHP エンジン コアによって生成されます。 PHP 4以降
64 E_COMPILE_ERROR(整数) 致命的なコンパイル時エラー。 E_ERROR に似ていますが、Zend スクリプト エンジンによって生成されます。 PHP 4以降
128 E_COMPILE_WARNING(整数) コンパイル時間の警告 (致命的ではないエラー)。 E_WARNING に似ていますが、Zend スクリプト エンジンによって生成されます。 PHP 4以降
256 E_USER_ERROR (整数) ユーザーが生成したエラーメッセージ。 E_ERROR に似ていますが、コード内で PHP 関数trigger_error() を使用するユーザーによって生成されます。 PHP 4以降
512 E_USER_WARNING(整数) ユーザーが生成した警告メッセージ。 E_WARNINGと似ていますが、コード内でPHP関数trigger_error()を使用するユーザーによって生成されます。 PHP 4以降
1024 E_USER_NOTICE(整数) ユーザーによって生成された通知メッセージ。 E_NOTICEと似ていますが、コード内でPHP関数trigger_error()を使用してユーザーによって生成されます。 PHP 4以降
2048 E_STRICT (整数) コードの最高の相互運用性と上位互換性を確保するために、PHP のコード変更の提案を有効にします。 since PHP 5
4096 E_RECOVERABLE_ERROR(integer) 可被捕捉的致命错误。 它表示发生了一个可能非常危险的错误,但是还没有导致PHP引擎处于不稳定的状态。 如果该错误没有被用户自定义句柄捕获 (参见 set_error_handler()),将成为一个 E_ERROR 从而脚本会终止运行。 since PHP 5.2.0
8192 E_DEPRECATED (integer) 运行时通知。启用后将会对在未来版本中可能无法正常工作的代码给出警告。 since PHP 5.3.0
16384 E_USER_DEPRECATED(integer) 用户产少的警告信息。 类似E_DEPRECATED, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。 since PHP 5.3.0
30719 E_ALL (integer) E_STRICT出外的所有错误和警告信息。 30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously

(レベル E_ERROR および E_USER_ERROR はカスタム エラー処理関数では捕捉できません) 致命的なランタイム エラーが発生するとスクリプトはただちに実行を停止するため、致命的なエラー メッセージはカスタム エラー関数では捕捉できません。

3. エラーのトリガー
ユーザーがデータを入力するスクリプトで、ユーザーの入力が無効な場合にエラーをトリガーすると便利です。 PHP では、このタスクはtrigger_error() によって実行されます。
スクリプト内のどこでもエラーをトリガーできます。2 番目のパラメーターを追加すると、トリガーされるエラー レベルを指定できます。

4. 考えられるエラーの種類:

1).E_USER_ERROR - ユーザーが生成した致命的な実行時エラー。エラーは回復できません。スクリプトの実行が中断されました。
2) .E_USER_WARNING - 致命的ではないユーザー生成の実行時警告。スクリプトの実行は中断されません。
3).E_USER_NOTICE - デフォルト。ユーザーが生成した実行時通知。スクリプトは、スクリプトが正常に実行されているときに発生した可能性のあるエラーを検出しました。
例:

コードをコピーします コードは次のとおりです:

trigger_error("何か問題が発生しました", E_USER_WARNING);
//出力警告:xxxx エラー メッセージで問題が発生しました

3. エラー報告
デフォルトでは、php.ini の error_log 設定に従って、PHP はエラー記録をサーバーのエラー記録システムまたはファイルに送信します。
error_log() 関数を使用すると、指定したファイルまたはリモートの宛先にエラー レコードを送信できます。たとえば、エラー メッセージを電子メールに送信することは良い方法です。
エラー処理に関するドキュメントの詳細については、http://www.php.net/manual/zh/book.errorfunc.php を参照してください。

4. 例外処理 例外がスローされると、後続のコードは実行を続行せず、PHP は一致する「キャッチ」コード ブロックを見つけようとします。
例外がキャッチされず、対応する処理に set_Exception_handler() を使用する必要がない場合は、重大なエラー (致命的なエラー) が発生し、「Uncaught Exception」(キャッチされない例外) のエラー メッセージが出力されます。
1. 処理手順には次のものが含まれます。
1.) try - 例外を使用する関数は、「try」ブロック内に置く必要があります。例外がトリガーされない場合、コードは通常どおり実行を続行します。ただし、例外がトリガーされると、例外がスローされます。

2.) throw - 例外をトリガーする方法を指定します。各「スロー」は少なくとも 1 つの「キャッチ」に対応する必要があります

3.) catch - 「キャッチ」コード ブロックは例外をキャッチし、例外情報を含むオブジェクトを作成します

2。例外を再スローします
2。
例外がスローされたときに、標準の方法とは異なる方法で例外を処理したい場合があります。例外は「catch」ブロックで再度スローできます。

スクリプトはシステムエラーをユーザーから隠す必要があります。システム エラーはプログラマにとって重要かもしれませんが、ユーザーはそれらに興味がありません。ユーザーにとって使いやすいように、わかりやすいメッセージを付けて例外を再度スローできます。


3. 異常なルール

1). 例外処理を必要とするコードは、潜在的な例外をキャッチするために try コード ブロック内に配置する必要があります。

2). 各 try または throw コード ブロックには、対応する catch コード ブロックが少なくとも 1 つ必要です。

3). 複数の catch コード ブロックを使用して、さまざまな種類の例外をキャッチします。
4).try コード ブロック内の catch コード ブロックで例外を再スローできます。

つまり、例外がスローされた場合は、それをキャッチする必要があります。

http://www.bkjia.com/PHPjc/736790.html

tru​​ehttp://www.bkjia.com/PHPjc/736790.html技術記事ログ機能を使用すると、他のログ サーバー、指定した電子メール アドレス (またはメール ゲートウェイ経由)、またはオペレーティング システムに情報を直接送信できます...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 例外処理のヒント: try...catch ブロックを使用して複数の例外をキャッチして処理する方法 PHP 例外処理のヒント: try...catch ブロックを使用して複数の例外をキャッチして処理する方法 Jul 29, 2023 pm 01:05 PM

PHP 例外処理のヒント: try...catch ブロックを使用して複数の例外をキャッチして処理する方法 はじめに: PHP アプリケーション開発において、例外処理は非常に重要な部分です。コード内でエラーまたは例外が発生した場合、適切な例外処理によりプログラムの堅牢性と信頼性が向上します。この記事では、try...catch ブロックを使用して複数の例外をキャプチャして処理する方法を紹介し、開発者がより柔軟で効率的な例外処理を実行できるようにします。例外処理の概要 例外とは、プログラムの実行中に発生するエラーまたは特殊な状況を指します。例外が発生した場合

PHP のエラー処理メカニズムとは何ですか? PHP のエラー処理メカニズムとは何ですか? May 12, 2023 pm 07:31 PM

PHP は、さまざまな Web アプリケーションの開発に使用できる、人気のある強力なサーバー側プログラミング言語です。他のプログラミング言語と同様に、PHP はエラーや例外が発生しやすいです。これらのエラーと例外は、プログラム エラー、サーバー エラー、ユーザー入力エラーなど、さまざまな理由によって発生する可能性があります。プログラムの実行の安定性と信頼性を確保するために、PHP はエラー処理メカニズムの完全なセットを提供します。 PHP エラー処理メカニズムの基本的な考え方は、エラーが発生すると、プログラムは実行を停止し、エラー メッセージを出力するというものです。我々はできる

PHP で構文エラーを処理する方法 PHP で構文エラーを処理する方法 Aug 07, 2023 pm 04:46 PM

PHP の構文エラーに対処する方法 はじめに: PHP プログラムを開発するとき、構文エラーが頻繁に発生します。構文エラーは、PHP 構文ルールに違反するコードによって発生し、スクリプトが正しく実行されなくなります。この記事では、PHP 構文エラーに対処するいくつかの方法を紹介し、対応するコード例を示します。エラー プロンプト機能の使用 PHP には豊富なエラー プロンプト機能が用意されており、開発プロセス中にこれらのプロンプトをオンにすると、構文エラーをタイムリーに検出して解決できます。エラーを設定するには、

PHP 致命的エラー: キャッチされない例外「例外」の解決策 PHP 致命的エラー: キャッチされない例外「例外」の解決策 Aug 18, 2023 pm 03:28 PM

PHP は、Web サイトに強力で動的な機能を提供する、広く使用されているサーバー側プログラミング言語です。ただし、実際には、開発者はさまざまなエラーや例外に遭遇する可能性があります。一般的なエラーの 1 つは、PHPFatalerror:UncaughtException'Exception' です。この記事では、このエラーの原因とその修正方法について説明します。例外の概念 PHP では、例外とは、プログラムの実行プロセス中に発生する予期しない状況を指します。

PHP ファイル操作エラーを処理し、対応するエラー メッセージを生成する方法 PHP ファイル操作エラーを処理し、対応するエラー メッセージを生成する方法 Aug 08, 2023 am 10:30 AM

PHP ファイル操作エラーを処理し、対応するエラー メッセージを生成する方法 PHP を使用してファイル操作を実行すると、ファイルが見つからない、権限エラーなど、さまざまなエラーが発生する可能性があります。これらのエラーによりプログラムが適切に実行されなくなる可能性があるため、ファイル操作エラーを適切に処理することが非常に重要です。この記事では、PHP ファイル操作エラーを処理する方法と、対応するエラー メッセージを生成する方法を紹介します。 1. エラー制御演算子を使用したエラー処理方法 PHP には、エラーが発生する可能性のあるステートメントを実行する前に追加できるエラー制御演算子「@」が用意されています。

PHP ファイル パス エラーを処理し、対応するエラー メッセージを生成する方法 PHP ファイル パス エラーを処理し、対応するエラー メッセージを生成する方法 Aug 06, 2023 am 10:12 AM

PHP ファイル パス エラーを処理し、対応するエラー メッセージを生成する方法 PHP アプリケーションを開発および保守するときに、ファイル パス エラーが頻繁に発生します。存在しないファイルを参照したり、間違ったパスを指定したりすると、PHP で致命的なエラーがスローされ、アプリケーションが正常に実行できなくなります。この状況をより適切にデバッグして処理するために、次の方法で PHP ファイル パス エラーを処理し、対応するエラー メッセージを生成できます。絶対パスを使用する ファイルを参照するときは、相対パスではなく絶対パスを使用するようにしてください。

PHP プログラムでの例外分類のベスト プラクティス PHP プログラムでの例外分類のベスト プラクティス Jun 06, 2023 am 08:01 AM

PHP コードを記述する場合、例外処理はコードの堅牢性と保守性を高めるために不可欠な部分です。ただし、例外処理も注意して使用する必要があります。そうしないと、さらに問題が発生する可能性があります。この記事では、例外処理を有効に活用してコードの品質を向上させるのに役立つ、PHP プログラムでの例外分類のベスト プラクティスをいくつか紹介します。例外の概念 PHP では、例外とは、プログラムの実行中に発生するエラーまたは予期しない状況を指します。通常、例外が発生するとプログラムの実行が停止し、例外メッセージが出力されます。

PHP バックエンド関数開発におけるエラーを処理するにはどうすればよいですか? PHP バックエンド関数開発におけるエラーを処理するにはどうすればよいですか? Aug 04, 2023 pm 01:19 PM

PHP バックエンド関数開発におけるエラーを処理するにはどうすればよいですか? PHP バックエンド開発者として、私たちは開発プロセス中にさまざまなエラーに遭遇することがよくあります。適切なエラー処理は、システムの安定性とユーザー エクスペリエンスを確保する上で重要な要素です。この記事では、PHP バックエンド関数の開発方法に関するいくつかのエラー処理方法とテクニックを共有し、対応するコード例を示します。エラー報告レベルの設定 PHP には、報告されるエラーの種類を定義するために設定できるエラー報告レベル パラメーターが用意されています。 error_repo を使用する

See all articles