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());
?>

它产生以下浏览器输出-

Modulo by zero

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

技术教程推荐

Java并发编程实战 -〔王宝令〕

人人都能学会的编程入门课 -〔胡光〕

NLP实战高手课 -〔王然〕

视觉笔记入门课 -〔高伟〕

如何讲好一堂课 -〔薛雨〕

大厂广告产品心法 -〔郭谊〕

大厂设计进阶实战课 -〔小乔〕

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

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

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