ホームページ >バックエンド開発 >PHPの問題 >php7で例外をスローする方法

php7で例外をスローする方法

(*-*)浩
(*-*)浩オリジナル
2019-10-14 10:32:353896ブラウズ

PHP 7 では、ほとんどのエラーの報告方法が変更されています。 PHP 5 の従来のエラー報告メカニズムとは異なり、ほとんどのエラーはエラー例外としてスローされるようになりました。

php7で例外をスローする方法

#この Error 例外は、通常の例外と同様に try / catch ブロックでキャッチできます。一致する try / catch ブロックがない場合は、例外処理関数 (set_Exception_handler() で登録) が呼び出されて処理されます。

例外処理関数が登録されていない場合は、従来の方法で処理され、致命的なエラー (Fatal Error) として報告されます。 (推奨学習:

PHP ビデオ チュートリアル )

Error クラスは Exception クラスから拡張されていないため、catch (Exception $e) { ... } のようなコードはキャッチできません。エラー。 catch (Error $e) { ... } のようなコードを使用するか、例外ハンドラー (set_Exception_handler()) を登録してエラーをキャッチできます。

#エラー例外階層

php7で例外をスローする方法##インスタンス

<?php
class MathOperations 
{
   protected $n = 10;

   // 求余数运算,除数为 0,抛出异常
   public function doOperation(): string
   {
      try {
         $value = $this->n % 0;
         return $value;
      } catch (DivisionByZeroError $e) {
         return $e->getMessage();
      }
   }
}

$mathOperationsObj = new MathOperations();
print($mathOperationsObj->doOperation());
?>

上記のプログラムの実行出力は次のとおりです:

Modulo by zero

以上がphp7で例外をスローする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。