ホームページ >バックエンド開発 >PHP7 >PHP7 の例外およびエラー処理と以前のバージョンの比較

PHP7 の例外およびエラー処理と以前のバージョンの比較

藏色散人
藏色散人転載
2019-11-22 13:58:582262ブラウズ

PHP7 の例外およびエラー処理の比較 以前のバージョンとの比較

最初のコード

ECHO PHP_VERSION.PHP_EOL;
function add (int $left,int $right){
  return $left+$right;
 }
try {
    echo add('left', 'right');
} catch (Exception $e) {
    // Handle exception
} catch (Error $e) { // Clearly a different type of object
    // Log error and end gracefully
    var_dump($e->getMessage());
}
echo PHP_EOL."helloword".PHP_EOL;

PHP v5.6.1 の結果

5.6.1
PHP Catchable fatal error:  Argument 1 passed to add() must be an instance of int, string given, called in C:\usertb\shareubuntu\Workerman\fortest.php on line 8 and defined in C:\usertb\shareubuntu\Workerman\fortest.php on line 3
Catchable fatal error: Argument 1 passed to add() must be an instance of int, string given, called in C:\usertb\shareubuntu\Workerman\fortest.php on line 8 and defined in C:\usertb\shareubuntu\Workerman\fortest.php on line 3
[Finished in 0.0s]

PHP v7.0.15 の結果

7.0.15-0ubuntu0.16.04.4
string(131) "Argument 1 passed to add() must be of the type integer, string given, called in /home/tb/win10share/Workerman/fortest.php on line 8"
helloword

違い

後者は致命的なエラーをキャプチャでき、helloword を正常に出力できます

以上がPHP7 の例外およびエラー処理と以前のバージョンの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。