ホームページ > バックエンド開発 > PHPの問題 > PHP でシステム エラー メッセージをキャプチャする方法

PHP でシステム エラー メッセージをキャプチャする方法

PHPz
リリース: 2023-04-13 09:46:14
オリジナル
543 人が閲覧しました

PHP 開発では、構文エラー、実行時エラー、論理エラーなど、さまざまなエラーが頻繁に発生します。エラー情報を迅速かつ正確に取得する方法は、開発プロセス中に習得する必要がある重要なスキルの 1 つです。この記事では、PHP でシステムエラー情報を取得する方法を紹介します。

1. エラーの種類

1. 構文エラー

構文エラーとは、コードを記述する際の誤った構文規則を指します。PHP コンパイラーがこのエラーを検出すると、直接停止します。プログラムを実行するとエラーメッセージが表示されます。

2. 実行時エラー

実行時エラーとは、プログラムの実行中に発生するエラーを指しますが、プログラムの実行は中断されません。このエラーは通常、間違った関数や変数の呼び出し、間違った型や値の割り当てなどが原因で発生します。

3. 重大なエラー

重大なエラーとは、メモリ不足など、プログラムのクラッシュや実行の続行不能を引き起こすエラーを指します。

2. エラー処理関数

PHP は、プログラムの実行中にエラー情報を取得して処理できる多くのエラー処理関数を提供します。一般的に使用されるいくつかのエラー処理関数を次に示します。

1.set_error_handler()

set_error_handler() 関数は、エラー処理関数をカスタマイズするために使用されます。この関数はエラーが発生する前に呼び出す必要があります。そうしないと、カスタム関数は呼び出されません。

たとえば、ランタイム エラーを処理するカスタム関数を定義できます。

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    echo "<b>错误:</b> [$errno] $errstr<br>";
    echo "错误所在行:$errline<br>";
    echo "错误所在文件:$errfile<br>";
    echo "PHP版本:" . phpversion();
}

set_error_handler("myErrorHandler");
ログイン後にコピー

2.set_Exception_handler()

set_Exception_handler() 関数は、例外処理をカスタマイズするために使用されます。関数 。例外とは、プログラムの実行中に発生するエラーのことで、プログラム内で例外が発生すると、PHP は実行を停止し、例外処理関数にジャンプします。

たとえば、例外を処理するカスタム関数を定義できます:

function myExceptionHandler($exception)
{
    echo "<b>异常信息:</b>" . $exception->getMessage() . "<br>";
    echo "<b>异常所在文件:</b>" . $exception->getFile() . "<br>";
    echo "<b>异常所在行:</b>" . $exception->getLine() . "<br>";
    echo "<b>异常堆栈:</b><pre class="brush:php;toolbar:false">" . $exception->getTraceAsString() . "
"; } set_exception_handler("myExceptionHandler");
ログイン後にコピー

3.error_reporting()

error_reporting() 関数は、報告されるエラー レベルを設定するために使用されます。 。コードをデバッグするときに、エラー レベルを E_ALL に設定すると、すべてのエラー メッセージが出力されます。エラー報告をオフにしたい場合は、0 に設定できます。

例:

error_reporting(E_ALL); //输出所有错误
error_reporting(0); //关闭错误报告
ログイン後にコピー

3. エラー情報のキャプチャと出力

PHP では、try-catch ステートメントを使用して例外情報をキャプチャおよび処理できます。 error_log() 関数も使用して、エラー情報をログ ファイルに記録します。

1. 例外情報のキャプチャ

プログラム内で try-catch ステートメントを使用して例外情報をキャプチャし、それをログ ファイルに出力または記録できます。

例:

try {
    //执行代码
} catch (Exception $e) {
    echo "发生异常:" . $e->getMessage();
}
ログイン後にコピー

2. エラー情報をログ ファイルに記録する

error_log() 関数を使用して、エラー情報をログ ファイルに記録できます。エラーを迅速に見つけて特定するのに役立ちます。

例:

try {
    //执行代码
} catch (Exception $e) {
    error_log("发生异常:" . $e->getMessage(), 3, "error.log");
}
ログイン後にコピー

error_log() 関数の最初のパラメータは記録する必要があるエラー情報、2 番目のパラメータはログ ファイルの記録方法、3 は書き込みを意味します。エラー情報をファイル内で、3 番目のパラメータはログ ファイル名です。

4. 概要

PHP 開発では、システム エラー情報を取得して処理することは非常に重要なスキルです。 PHP が提供するエラー処理関数、例外処理関数、try-catch ステートメント、error_log() 関数を使用すると、エラー情報の取得と処理がより迅速かつ便利になり、コードの保守性と安定性が向上します。

以上がPHP でシステム エラー メッセージをキャプチャする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート