PHP - 错误处理

PHP - 错误处理 首页 / PHP7+入门教程 / PHP - 错误处理

从PHP 7开始,错误处理机制已更改,现在,大多数错误不是通过PHP 5使用的传统错误报告机制来报告错误,而是通过引发Error异常来处理。与异常相似,这些Error异常会冒泡直到到达第一个匹配的catch块。如果没有匹配的块,则将调用安装了 set_exception_handler()的默认异常处理程序。如果没有默认的异常处理程序,则该异常将转换为致命错误,并将像传统错误一样进行处理。

由于Error层次结构不是从Exception扩展的,因此在PHP 5中使用catch(Exception $e){...}块来处理未捕获的异常的代码将无法处理此类错误。需要使用catch(Error $e ){...}块或 set_exception_handler()处理程序来处理致命错误。

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

      //Try to get the Division by Zero error object and display as Exception
      public function doOperation(): string {
         try {
            $value=$this->n % 0;
            return $value;
         } catch (DivisionByZeroError $e) {
            return $e->getMessage();
         }
      }
   }

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

它产生以下浏览器输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/php7+/php7-error-handling.html

来源:LearnFk无涯教程网

Modulo by zero

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Node.js开发实战 -〔杨浩〕

性能工程高手课 -〔庄振运〕

架构实战案例解析 -〔王庆友〕

Service Mesh实战 -〔马若飞〕

分布式数据库30讲 -〔王磊〕

跟着高手学复盘 -〔张鹏〕

Tony Bai · Go语言第一课 -〔Tony Bai〕

高并发系统实战课 -〔徐长龙〕

结构思考力 · 透过结构看表达 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)