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

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

技术教程推荐

硅谷产品实战36讲 -〔曲晓音〕

后端技术面试 38 讲 -〔李智慧〕

RPC实战与核心原理 -〔何小锋〕

重学线性代数 -〔朱维刚〕

Django快速开发实战 -〔吕召刚〕

打造爆款短视频 -〔周维〕

自动化测试高手课 -〔柳胜〕

Kubernetes入门实战课 -〔罗剑锋〕

超级访谈:对话玉伯 -〔玉伯〕

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