PHP 7 では、ほとんどのエラーの報告方法が変更されています。 PHP 5 の従来のエラー報告メカニズムとは異なり、ほとんどのエラーはエラー例外としてスローされるようになりました。
#この Error 例外は、通常の例外と同様に try / catch ブロックでキャッチできます。一致する try / catch ブロックがない場合は、例外処理関数 (set_Exception_handler() で登録) が呼び出されて処理されます。
例外処理関数が登録されていない場合は、従来の方法で処理され、致命的なエラー (Fatal Error) として報告されます。 (推奨学習:PHP ビデオ チュートリアル )
Error クラスは Exception クラスから拡張されていないため、catch (Exception $e) { ... } のようなコードはキャッチできません。エラー。 catch (Error $e) { ... } のようなコードを使用するか、例外ハンドラー (set_Exception_handler()) を登録してエラーをキャッチできます。 #エラー例外階層
##インスタンス
<?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 サイトの他の関連記事を参照してください。