PHP におけるエラーと例外処理のガイド
PHP は、Web 開発の分野で広く使用されているスクリプト言語であり、開発者に豊富な機能とツールのセットを提供します。しかし、開発プロセスではさまざまなエラーや例外が避けられません。したがって、PHP でのエラーと例外の処理は不可欠です。
この記事では、一般的なエラーの種類、エラーと例外をキャッチする方法、一般的に使用されるエラーと例外の処理方法など、PHP でのエラーと例外の処理に関するガイドを読者に提供します。
1. PHP の一般的なエラーの種類
1. 構文エラー
構文エラーとは、文法規則に準拠していないコード内のエラーです。一般的なエラーには、セミコロンの欠落、関数やクラスの括弧の不一致など。 PHP インタプリタは、PHP プログラムのコンパイル時に構文エラーを検出すると、致命的なエラー (Fatal Error) を出力し、プログラムの実行を停止します。
2. ランタイム エラー
ランタイム エラーは、コードの実行中に生成されるエラーです。一般的なエラーには、未定義の変数の使用、存在しないメソッドの呼び出しなどが含まれます。 PHPインタプリタはプログラム実行時に実行時エラーを検出すると、致命的なエラー(Fatal Error)を出力し、プログラムの実行を停止します。
3. 警告
警告は、配列の範囲外、ファイルを開けないなど、問題を引き起こす可能性のあるコード内の一部の動作です。プログラム実行中にPHPインタプリタが警告を検出した場合、警告メッセージが出力されますが、プログラムは実行を継続します。
4. 注意事項
注意事項は、未定義の変数へのアクセスや数値処理での不正な文字列の使用などの軽微な問題です。 PHP インタープリターはプログラムの実行中にアテンションを見つけると、アテンション メッセージを出力しますが、プログラムは実行を続けます。
2. PHP でエラーと例外をキャッチする方法
PHP では、set_error_handler() 関数を使用してエラー ハンドラーを設定できます。例:
function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr"; } set_error_handler("customError");
Thisエラーハンドラ Web ページにエラーメッセージが出力されます。このエラー ハンドラーは、コードのコンパイルまたは実行中に PHP インタープリターでエラーが発生したときにトリガーされます。
同様に、set_Exception_handler() 関数を使用して例外ハンドラーを設定できます。例:
function customException($exception) { echo "<b>Exception:</b> " , $exception->getMessage(); } set_exception_handler("customException");
この例外ハンドラーは、例外情報を Web ページに出力します。この例外ハンドラーは、コード内で例外がスローされたときにトリガーされます。
エラーと例外を処理する場合、try-catch ブロックを使用して例外をキャッチすることもできます。例:
try { // some code } catch (Exception $e) { // exception handler }
この例では、プログラムが try ブロック内のコードを実行するときに、例外がスローされると、catch ブロック内のコードが実行されます。
3. 一般的に使用されるエラーおよび例外の処理方法
1. エラー ログの記録
開発環境および運用環境では、エラー ログを記録することが非常に重要です。 PHP には、エラー ログをファイルに記録できる error_log() 関数が組み込まれています。例:
function customError($errno, $errstr) { error_log("[$errno] $errstr", 3, "myerrors.log"); } set_error_handler("customError");
この例では、myerrors.log という名前のファイルにエラーを記録します。
2. フレンドリーなエラー プロンプト
実稼働環境では、エラー メッセージはできる限りユーザーに公開しないようにする必要があります。代わりに、何が問題なのかをユーザーに伝えるわかりやすいエラー メッセージを提供します。例:
function customError($errno, $errstr) { echo "<b>Oops! Something went wrong.</b>"; } set_error_handler("customError");
この例は、PHP のデフォルトのエラー メッセージを置き換え、ユーザーにわかりやすいエラー プロンプトを提供します。
3.例外処理
例外処理を使用すると、コードをより堅牢かつ安全にすることができます。プログラムで問題が発生すると、例外をスローしてプログラムの実行を中止し、エラー情報を提供することができます。例:
function divide($a, $b) { if ($b == 0) { throw new Exception("Division by zero."); } return $a / $b; } try { $result = divide(10, 0); } catch (Exception $e) { echo "Error: " . $e->getMessage(); }
この例では、例外をスローし、try-catch ブロックを使用して例外を処理する方法を示します。 $b が 0 の場合、エラー情報を含む例外をスローします。
4. カスタム エラー/例外クラス
PHP の組み込みエラー クラスと例外クラスに加えて、カスタム エラー クラスと例外クラスを作成することもできます。これらのクラスは、特定のニーズに基づいて、より対象を絞ったエラーまたは例外を定義できます。例:
class ValidationException extends Exception { public function __construct($message, $code = 0, Exception $previous = null) { parent::__construct($message, $code, $previous); } } try { if (!isset($_POST["username"])) { throw new ValidationException("Username is required."); } } catch (ValidationException $e) { echo "Error: " . $e->getMessage(); }
この例では、検証にカスタム例外クラスを使用し、エラー情報を含む例外をスローする方法を示します。
結論
エラーと例外の処理は、PHP プログラミングにおいて非常に重要です。 PHP の一般的なエラーの種類、エラーと例外のキャッチ方法、一般的なエラーと例外の処理方法を理解することで、開発者はより堅牢で安全な PHP アプリケーションを作成できます。
以上がPHP におけるエラーと例外処理のガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

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

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPでは、Try、Catch、最後にキーワードをスローすることにより、例外処理が達成されます。 1)TRYブロックは、例外をスローする可能性のあるコードを囲みます。 2)キャッチブロックは例外を処理します。 3)最後にブロックは、コードが常に実行されることを保証します。 4)スローは、例外を手動でスローするために使用されます。これらのメカニズムは、コードの堅牢性と保守性を向上させるのに役立ちます。
