PHP 7エラー処理
ほとんどのレポート間違った方法を変更するには、PHP 7。 今、伝統的なPHPのエラー報告機構5、とは異なり、エラーのほとんどは、例外エラーとしてスローされます。
このエラー例外は異常撮影しtry / catchブロックのように正常であることができます。 マッチングなしtry / catchブロック場合は、処理のために(set_exception_handlerによって登録された())例外ハンドラを呼び出します。 あなたが登録していない場合は、例外ハンドラは、伝統的な方法で処理されます。致命的なエラー(致命的なエラー)として報告されます。
ErrorクラスはExceptionクラスからはみ出すので、このコードは、エラーを取得しないようである{...}キャッチ(例外の$ e)を使用していません。 あなたはキャッチ(エラー$電子){...}このコード、または登録された例外ハンドラによって(set_exception_handler())でエラーをキャッチすることができます。
エラー例外階層
- エラー
- ArithmeticError
- AssertionErrorが
- DivisionByZeroError
- ParseErrorです
- 例外TypeError
- 例外
- ...
例
例
<?phpの
クラス MathOperations
{
; $ N = 10を保護
//剰余演算は、除数が0で、例外がスローされます
パブリック関数doOperation():文字列
{
{しよう
$値= $この- >のn %0;
$値を返します 。
}キャッチ(DivisionByZeroErrorます$ e)の{
$ Eを返す- >のgetMessage() ;
}
}
}
$ mathOperationsObj =新しいMathOperations();
印刷($ mathOperationsObj - > doOperation( ));
?>
クラス MathOperations
{
; $ N = 10を保護
//剰余演算は、除数が0で、例外がスローされます
パブリック関数doOperation():文字列
{
{しよう
$値= $この- >のn %0;
$値を返します 。
}キャッチ(DivisionByZeroErrorます$ e)の{
$ Eを返す- >のgetMessage() ;
}
}
}
$ mathOperationsObj =新しいMathOperations();
印刷($ mathOperationsObj - > doOperation( ));
?>
上記プログラム実行出力は、次のとおりです。
Modulo by zero