PHPでのエラー・例外処理を詳しく解説
プログラマーなら誰でも、開発中に間違いや他の理由によるエラーに遭遇したことがあるかもしれません。もちろん、ユーザーがアプリケーションの制約に従わない場合、使用時にエラーが発生することもあります。次の記事では主に PHP の一般的なエラーと例外処理について紹介します。必要な方は参考にしてください。例外やエラーにどのように対処すればよいでしょうか?この記事では、PHP のエラーと例外処理について詳しく説明し、参考と学習のために共有します。
1. PHP エラー処理について見てみましょう。 1. 構文エラー
2. 実行時エラー3. ロジックエラー: エラーは表示されませんが、関数が間違っており、最も厄介です4. 3 つのレベル: 通知/警告/致命的なエラー (続行できません)実行)
5. エラー レポートの表示:
error_reporting=E_ALL & ~E_NOTICE
b. スクリプト内のエラー表示を変更するには、 error_reporting(E_ALL & ~E_NOTICE)
を使用します (推奨)
6. エラー レポートをカスタマイズします: set_error_handler()
はい 次のように、エラーを表示するための所定のパラメーターを渡します:
set_error_handler('reportError'); $mess=""; function reportError($error_type,$error_message,$error_file,$error_line){ global $mess; $mess.="发生错误级别为{$error_type}类型,错位信息<b>{$error_message}</b>,在文件{$error_file}中,第{$error_line}行。<br>"; } getType($a); echo "1111111<br>"; getType(); echo "2222<br>"; echo $mess; /*发生错误级别为8类型,错位信息Undefined variable: a,在文件F:\projects\Frame\FrameTest\BackEnd\regularExpression.php中,第24行。 发生错误级别为2类型,错位信息gettype() expects exactly 1 parameter, 0 given,在文件F:\projects\Frame\FrameTest\BackEnd\regularExpression.php中,第26行。*/
7. エラー ログを記録します
a. PHP.ini の display_errors を Off に設定し、log_errors を On に設定します
error_reporting=E_ALL & ~E_NOTICE
b.只修改某个脚本内的错误显示,可以使用error_reporting(E_ALL & ~E_NOTICE);
(推荐)
6.自定义错误报告:set_error_handler()
可以传入用以显示错误的预定参数,如下:
try{ echo "开车上班<br>"; throw new Exception("车子爆胎了!"); }catch(Exception $e){//相当于Exception $e = new Exception(''); echo $e->getMessage().'<br>'; echo '换上备胎,继续上班<br>'; }
7.记录错误日志
a.将PHP.ini中display_errors设置为Off,log_errors设置为On
b.自定义日志目录error_log="C:/XX/XX/php_error.log"
c.也可以使用ini_set("display_errors","Off")
b.ログ ディレクトリ error_log="C:/XX/XX/php_error.log"
c. ini_set("display_errors","Off")
を使用することもできます。またはスクリプト内の ini_get 内部的に設定します
2. PHP 例外処理
1. try catch は統合されており、途中にコードは存在できません
2. 例外はシステム定義済みクラスです
set_error_handler('reportError'); function reportError($error_type,$error_message,$error_file,$error_line){ if($error_type==E_WARNING){ throw new Exception("错误信息:{$error_message},错误文件:{$error_file},错误行数{$error_line}"); } } function drive($a){ echo $a; } try{ echo "开车上班<br>"; drive();//忘记传参,触发自定义错误函数中警告性错误,抛出异常 }catch(Exception $e){//相当于Exception $e = new Exception(''); echo $e->getMessage().'<br>'; echo "换上备胎,继续上班<br>"; }
class BTException extends Exception { function __construct($message){ parent::__construct($message); } function method(){ return "打开后备箱,拿出工具,换备胎"; } } try{ echo "开车上班<br>"; throw new BTException("车子爆胎了!"); }catch(BTException $e){//相当于Exception $e = new Exception(''); echo $e->getMessage().'<br>'; echo $e->method().'<br>'; echo "换上备胎,继续上班<br>"; }
a. Exception クラスはすべての例外の基本クラスであり、特定の例外を定義しません。例外処理メソッド (プロンプトを取得するための一部のメソッドのみ)
b. カスタム例外クラスはシステム クラスのサブクラスである必要があります
c. Exception クラスを継続してコンストラクターを呼び出すことを忘れないでください。初期化のための親クラスのコンストラクター
class Err1 extends Exception { function __construct($message){ parent::__construct($message); } function method(){ return "纠正错误1"; } } class Err2 extends Exception { function __construct($message){ parent::__construct($message); } function method(){ return "纠正错误2"; } } class Err3 extends Exception { function __construct($message){ parent::__construct($message); } function method(){ return "纠正错误3"; } } $rand=rand(1,3); try{ switch($rand){ case 1: throw new Err1("发生错误1"); case 2: throw new Err2("发生错误2"); case 3: throw new Err3("发生错误3"); } }catch(Err1 $e){ echo $e->getMessage().'<br>'; echo $e->method().'<br>'; }catch(Err2 $e){ echo $e->getMessage().'<br>'; echo $e->method().'<br>'; }catch(Err3 $e){ echo $e->getMessage().'<br>'; echo $e->method().'<br>'; }
rrreee
概要🎜🎜🎜 にネストすることもできます。以上がPHPでのエラー・例外処理を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
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 にアップグレードする方法について説明します。

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

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

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

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

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