ホームページ バックエンド開発 PHPチュートリアル PHPのエラー処理機能を詳しく解説

PHPのエラー処理機能を詳しく解説

Jun 21, 2023 am 08:51 AM
php 関数 エラー処理

エラー処理は、PHP アプリケーションを開発する際に非常に重要な部分です。エラー処理は、問題を迅速に特定して解決し、プログラムの信頼性と安定性を向上させるのに役立ちます。 PHP には、プログラムの実行中にエラーを検出して処理するのに役立つ多くのエラー処理関数が用意されています。この記事では、PHPのエラー処理機能について詳しく紹介します。

  1. エラー報告レベル

PHP には複数のエラー報告レベルがあり、さまざまなレベルのエラーがエラー処理関数によって捕捉され、それに応じて処理されます。 PHP のエラー報告レベルは次のとおりです。

E_ERROR: 致命的なエラー。プログラムの実行を続行できないエラーです。 die()関数またはtrigger_error()関数を使用して処理できます。

E_WARNING: 致命的エラーではありませんが、プログラムの正しい実行に影響します。警告レベルは、error_reporting() 関数と ini_set() 関数を使用して変更できます。

E_PARSE: 構文エラー、プログラムが解析できないエラー。

E_NOTICE: 有益なエラー、未定義変数の使用など、プログラムの実行に影響を及ぼさない一部のエラー。

E_STRICT: コーディングの提案。プログラム作成に関する特定の提案がありますが、プログラムの実行には影響しません。

PHP7.0 以降、E_DEPRECATED エラー レベルが削除されたことに注意してください。

  1. エラー処理関数

PHP には多くのエラー処理関数があります。以下に、一般的に使用されるエラー処理関数をいくつか示します。

a. die() 関数

die() 関数は、エラー メッセージを出力し、スクリプトの実行を停止するために使用され、exit() 関数と同等です。通常、重大なエラーが発生した場合に使用されます。例:

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
ログイン後にコピー

b. error_reporting() 関数

error_reporting() 関数は、スクリプトがどのエラーを報告するかを設定します。コード内でこの関数を使用して、エラー報告レベルを制限することを選択できます (例:

error_reporting(E_ERROR | E_WARNING | E_PARSE);
ログイン後にコピー

c. set_error_handler() 関数

set_error_handler() 関数は、ユーザー定義のエラー処理を登録します。 PHP エラー ハンドラーとして機能します。例:

function errorCallback($errno, $errstr, $errfile, $errline ) {
    echo "<b>Error:</b> [$errno] $errstr - $errfile:$errline";
    die();
}

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

d.trigger_error() 関数

trigger_error() 関数は、スクリプトでエラーを手動でトリガーするために使用されます。例:

if($value > 100) {
    trigger_error("Invalid value", E_USER_ERROR);
}
ログイン後にコピー

e. try...catch ステートメント

try...catch ステートメントは、例外をキャッチして処理するために使用されます。 try ブロックでは、例外をスローする可能性のあるコードを記述します。 catch ブロックでは、例外をキャッチし、それに応じて処理します。例:

try {
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    if (!$conn) {
        throw new Exception("Connection failed: " . mysqli_connect_error());
    }
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}
ログイン後にコピー

f. set_Exception_handler() 関数

set_Exception_handler() 関数は、ユーザー定義の例外処理関数を現在の例外ハンドラーとして設定するために使用されます。例:

function exceptionHandler($exception) {
    echo "Uncaught exception: " . $exception->getMessage();
}

set_exception_handler("exceptionHandler");
ログイン後にコピー
  1. エラー ログ

上で紹介した PHP エラー処理関数に加えて、エラー ログを記録する別のエラー処理メソッドがあります。エラー ログを記録すると、問題をより深く理解し、迅速に特定して解決するのに役立ちます。

PHP には、エラー情報をファイルに書き込むことができる error_log() 関数が用意されています。

error_log("Error: Connection failed: " . mysqli_connect_error(), 3, "/var/log/php_error.log");
ログイン後にコピー

最初のパラメータはエラー情報で、2 番目のパラメータは指定されたログ レコード タイプ (0)はデフォルトのログ タイプを示し、3 はファイルへの書き込みを示します)。3 番目のパラメータは、指定されたログ ファイルへのパスです。

    #結論
この記事では、PHP のエラー報告レベル、エラー処理関数、およびエラー ログ記録方法について紹介します。正しいエラー処理方法を使用すると、問題を迅速かつ効果的に解決し、プログラムの信頼性と安定性を向上させることができます。 PHP アプリケーションを作成する場合は、上記で紹介した方法を柔軟に使用し、実際の状況に応じて適切なエラー処理方法を選択することをお勧めします。

以上がPHPのエラー処理機能を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles