ホームページ バックエンド開発 PHPの問題 PHP例外処理はどのようなエラーをキャッチしますか?

PHP例外処理はどのようなエラーをキャッチしますか?

Sep 23, 2019 pm 01:14 PM
php 例外処理

PHP例外処理はどのようなエラーをキャッチしますか?

PHP には 3 種類のエラー レポートがあります:

1. エラー、構文解析エラー、致命的エラー

2. 警告

3.

結果に注意してください:

エラー-> 致命的なエラーにより、ダウンロードされたプログラムの実行が終了します。構文エラーがあるため、PHP はまったく動作せず、実装されていませんでした。

警告 -> 実行は終了しませんが、結果に影響します。

注 -> は実行を終了せず、結果には影響しません。

ユーザーにより良いエクスペリエンスを提供するために、すべてのエラー出力 (表示ではなく出力) をマスクします。ただし、この場合、管理者はエラーを確認できません。エラーはページには表示されませんが、管理者が参照できるようにログが生成されます。

error_reporting(~E_ALL) すべての出力はブロックされており、当然、管理者は出力を確認できません。すべての出力をブロックするのではなく、すべての表示をブロックしたいだけです。 ini_set('display_errors','off'); は、ページ上のすべてのエラー表示はブロックされますが、エラー出力はブロックされないことを意味します。ブロックされました。

ini_set('log_errors','on'); //开启日志写入功能 ini_set('error_log','myerror.log');
//日志的存放位置 ini_set('display_errors','off'); //屏蔽页面显示 error_reporting(E_ALL); //输出所有错误
echo 123; echo $str; //这个会出现一个注意,表示未声明变量 echo date(); //警告,没有传参 echo dae(); 
//致命错误,找不到这个函数 echo 123;
ログイン後にコピー

Exception:

PHP 言語では、自動的に例外をスローする JAVA のような言語とは異なり、すべての例外を自らスローする必要があります。これが、PHP ソース コードで例外処理ステートメントがほとんど見られない理由の 1 つです。

例外とエラー:

例外とは、期待を満たさず、プログラム動作中の通常のプロセスとは異なる状態を指します。このエラーはそれ自体の問題であり、コンパイラがチェック設定を通過して実行するのを妨げる、不正な構文または環境上の問題によって引き起こされます。

PHP には当初例外処理がなかったため、エンタープライズ レベルの開発に参入するために後に模倣されました。 PHP が異常なコードを検出すると、ほとんどの場合、例外ではなく直接エラーがスローされます。

php は、例外をスローした後に try...catch を使用して例外をキャッチすることしかできません (これは一般的に当てはまり、一部の例外は自動的にキャッチできます)。

PHP では、通常、例外は次のシナリオで使用されます:

1. プログラムの悲観的な予測: コードがさまざまな考えられる問題を処理できないと思われる場合、予見可能な状況、予見できない状況によって。

2. プログラムのニーズとビジネス上の懸念事項: データの一貫性が非常に高い場合は、try...catch を使用して例外による論理中断のダメージを最小限に抑え、例外を修復できます

After処理中、ビジネス ロジックの整合性は影響を受けません。

3. 言語レベルでの堅牢性要件: ランタイム プロセスを正確に制御することにより、プログラムが中断されたときに、try...catch を予測どおりに使用して、起こり得るエラーの範囲を狭め、例外を適時にキャッチします。および

対応する救済策を提供します。

PHP のエラー:

エラーとは、スクリプトが異常に実行される原因となる状況です。

php の主なエラー レベルは次のとおりです:

deprecated: 最低级别的错误,表示"不推荐, 不建议"。例如在php 5中使用了ereg系列的正则函数就会出现。这类错误一般由于使用了不推荐的、过时的函数或语法造成。不影响程序正常运行,但建议修正。
notice: 一般指语法中存在不恰当的地方。如使用变量但是未定义就会报此错误。不影响程序正常流程。
warning: 较高级别的错误,在语法中出现很不恰当的情况才会出现此错误,比如函数参数不匹配。会导致得不到预期的结果,需要修改代码。
fetal error: 致命错误,直接导致程序终止运行。这类错误必须修改。
prase error: 语法解析错误,上面几种都属于运行时错误,此错误在运行前就会抛出。
ログイン後にコピー

カスタム エラー ハンドラー:


set_error_handler() 関数を使用できます。マネージド エラー ハンドラーを使用すると、エラー処理プロセスをカスタマイズできます。

ホスティングをキャンセルしたい場合は、同じページでrestore_error_handler()を使用してホスティングをキャンセルできます。自分でエラーをスローしたい場合は、trigger_error()関数を使用できます。

推奨チュートリアル:

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