PHP7 エラー処理メカニズムの詳細な紹介

WBOY
リリース: 2016-07-06 13:34:22
オリジナル
1558 人が閲覧しました

PHP7 のエラー処理メカニズムについて詳しく見てみましょう。PHP7 の新機能に関するチュートリアルを多数紹介しました。この記事が皆さんのお役に立てれば幸いです。

HP7 はグローバルなスロー可能なインターフェイスを実装しています。オリジナルの Exception と一部の Error はこのインターフェイス (インターフェイス) を実装し、インターフェイスの形式で例外の継承構造を定義します。その結果、PHP7 ではより多くのエラーがキャッチ可能な例外となり、キャッチされなかった場合はエラーとしてプログラム内で処理できるようになります。これらのキャッチ可能なエラーは通常、存在しない関数など、プログラムに致命的な害を及ぼさないエラーです。

1. Exception と Error という 2 つの例外クラスが存在します。

PHP7 には、Exception と Error という 2 つの例外クラスが追加されました。どちらのクラスも新しいインターフェイス Throwable を実装します。例外処理コードでは、型ヒントを調整する必要がある場合があります。

試してください{

Not_exists_func();
} catch (EngineException $e) {
var_dump($e->getMessage());
}

出力:

string(44) "未定義関数 not_exists_func() の呼び出し"

2. 一部の致命的エラーと回復可能な致命的エラーは、Error オブジェクトをスローするように変更されました。

一部の致命的なエラーと回復可能な致命的なエラーは、Error オブジェクトとして報告されるようになりました。エラー オブジェクトは Exception から独立しており、通常の try/catch ではキャッチできません。編集者注: エラー処理関数を登録する必要があります。以下の RFC を参照してください。

例外となったこれらの回復可能な致命的なエラーは、エラー ハンドラーを通じて黙って無視することはできません。特に、タイプヒントエラーは無視できません。

3. 構文エラーは ParseError オブジェクトをスローします

構文エラーは、Error オブジェクトを継承する ParseError オブジェクトをスローします。 eval() を処理する前に、潜在的にエラーが発生しやすいコードの戻り値または error_get_last() をチェックすることに加えて、ParseError オブジェクトもキャプチャする必要があります。

4. 内部オブジェクトの構築メソッドが失敗すると、常に例外がスローされます

内部オブジェクトの構築メソッドは、失敗すると常に例外を報告します。以前のコンストラクターの中には、NULL または使用できないオブジェクトを返すものがありました。

5. 一部のE_STRICTエラーのレベルが調整されました。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!