没有合适的资源?快使用搜索试试~ 我知道了~
本文实例讲述了php7 错误处理机制修改。分享给大家供大家参考,具体如下: 一、现在有两个异常类:Exception and Error. PHP7现在有两个异常类,Exception and Error。这两个类都实现了一个新的接口:Throwable。在您的异常处理代码中,类型暗示可能需要调整下。 二、一些致命错误和可恢复致命错误改为抛出Error对象。 有一些致命错误和可恢复致命错误现在改为报出Error对象。Error对象是和Exception独立的,它们无法被常规的try/catch扑获。编者按:需要注册错误处理函数,请参考下面的RFC。 对于这些已经转为异常的可恢复致命错误,已经无
资源推荐
资源详情
资源评论
php7 错误处理机制修改实例分析错误处理机制修改实例分析
本文实例讲述了php7 错误处理机制修改。分享给大家供大家参考,具体如下:
一、现在有两个异常类:Exception and Error.
PHP7现在有两个异常类,Exception and Error。这两个类都实现了一个新的接口:Throwable。在您的异常处理代码中,类
型暗示可能需要调整下。
二、一些致命错误和可恢复致命错误改为抛出Error对象。
有一些致命错误和可恢复致命错误现在改为报出Error对象。Error对象是和Exception独立的,它们无法被常规的try/catch扑
获。编者按:需要注册错误处理函数,请参考下面的RFC。
对于这些已经转为异常的可恢复致命错误,已经无法通过error handler静默的忽略掉。尤其是无法忽略类型暗示错误。
三、语法错误会抛出一个ParseError对象
语法错误会抛出一个ParseError对象,该对象继承自Error对象。之前处理eval()的时候,对于潜在可能错误的代码除了检查返
回值或者error_get_last()之外,还应该捕获ParseError对象。
四、内部对象的构造方法如果失败的时候总会抛出异常
内部对象的构造方法如果失败的时候总会报出异常。之前的有一些构造方法会返回NULL或者一个无法使用的对象。
五、一些E_STRICT错误的级别调整了。
PHP 7 错误处理
PHP 7 改变了大多数错误的报告方式。不同于 PHP 5 的传统错误报告机制,现在大多数错误被作为 Error 异常抛出。
这种 Error 异常可以像普通异常一样被 try / catch 块所捕获。如果没有匹配的 try / catch 块, 则调用异常处理函数(由
set_exception_handler() 注册)进行处理。 如果尚未注册异常处理函数,则按照传统方式处理:被报告为一个致命错误
(Fatal Error)。
Error 类并不是从 Exception 类 扩展出来的,所以用 catch (Exception $e) { … } 这样的代码是捕获不 到 Error 的。你可以用
catch (Error $e) { … } 这样的代码,或者通过注册异常处理函数( set_exception_handler())来捕获 Error。
Error 异常层次结构
1.Error
ArithmeticError
AssertionError
DivisionByZeroError
ParseError
TypeError
2.Exception
…
实例
<?php c
lass MathOperations {
protected $n = 10; // 求余数运算,除数为 0,抛出异常
public function doOperation(): string {
try {
$value = $this->n % 0;
return $value;
} catch (DivisionByZeroError $e) {
return $e->getMessage();
}
} }
$mathOperationsObj = new MathOperations();
资源评论
weixin_38536576
- 粉丝: 6
- 资源: 939
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 第01章 Linux系统概述
- JavaSwing+mysql图书管理系统完整源码+数据库(高分项目)
- 史上最简单最容易让web初学者理解的基础知识(仅针对个人)
- delphi IDE 插件DelphiIDEPlugin-SearchProject,用于从项目组中查找项目
- 施工人员检测12-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 基于java的图书管理系统的设计与实现源码+数据库(高分项目)
- boos编译好的库文件
- JSON数据构造.mp4
- JavaEE课程大作业基于遗传算法的高校排课系统源码+数据库+文档说明(高分项目)
- cmake-3.9.0-rc3-win64-x64
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功