PHP7中异常与错误处理与之前版本对比

Posted 头大的冯冯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP7中异常与错误处理与之前版本对比相关的知识,希望对你有一定的参考价值。

PHP7中异常与错误处理与之前版本对比

先上代码

 1 ECHO php_VERSION.PHP_EOL;
 2 function add (int $left,int $right){
 3   return $left+$right;
 4  }
 5 try {
 6     echo add(‘left‘, ‘right‘);
 7 } catch (Exception $e) {
 8     // Handle exception
 9 } catch (Error $e) { // Clearly a different type of object
10     // Log error and end gracefully
11     var_dump($e->getMessage());
12 }
13 echo PHP_EOL."helloword".PHP_EOL;

PHP v5.6.27结果

1 5.6.27
2 
3 Catchable fatal error: Argument 1 passed to add() must be an instance of int, string given, called in D:phpStudyPHPTutorialWWWindex.php on line 9 and defined in D:phpStudyPHPTutorialWWWindex.php on line 3

PHP v7.0.12结果

1 7.0.12
2 string(127) "Argument 1 passed to add() must be of the type integer, string given, called in D:phpStudyPHPTutorialWWWindex.php on line 9" 
3 helloword

区别

在于后者可以捕获fatal error,并且可以正常输出helloword.

 

链接:https://www.php.cn/topic/php7/436271.html

以上是关于PHP7中异常与错误处理与之前版本对比的主要内容,如果未能解决你的问题,请参考以下文章

python-异常处理及异常处理的两种方式对比

PHP 异常与错误 —— Throwable

PHP 异常与错误 —— ErrorException

PHP 异常与错误 —— RuntimeException

PHP7 错误处理

前端错误监控的简单设计与实现