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 异常层次结构

Error

ArithmeticError

AssertionError

DivisionByZeroError

ParseError

TypeError

Exception

...

实例

实例

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

print($mathOperationsObj->doOperation());

?>

以上程序执行输出结果为:

Modulo by zero

php 7 显示错误信息,PHP 7 错误处理相关推荐

  1. mysql 错误信息大全,MySQL错误信息记录

    MySQL错误信息记录 MySQL错误信息记录 考虑到MySQL是一门玄学,难免有些看不见的坑要踩,于是开这篇博文,以此来记录学习及以后使用过程中踩过的Error,如果你也想加入欢迎留言参加 ERRO ...

  2. html出现403错误信息,HTTP 403 错误是什么意思

    403.1 - 执行访问被禁止. 下面是导致此错误信息的两个常见原因: • 您没有足够的执行许可.例如,如果试图访问的 ASP 页所在的目录权限设为"无",或者,试图执行的 CGI ...

  3. mysql 错误信息大全_mysql 错误信息大全

    在网上找了好多关于mysql的错误信息详细说明的代码,无奈,或者是所述不全,或者是所述不详.最后,无意中查看了一下mysql的官方手册,才发现原来它一直就在身边. 如手册所述,mysql的错误消息可以 ...

  4. mysql错误信息收集_MySQL错误信息记录

    考虑到MySQL是一门玄学,难免有些看不见的坑要踩,于是开这篇博文,以此来记录学习及以后使用过程中踩过的Error,如果你也想加入欢迎留言参加 ERROR 1366 (HY000): Incorrec ...

  5. mysql触发器错误信息_MySQL 触发器错误_MySQL

    bitsCN.com 使用Spring jdbctemplate时出错: view sourceprint?01 org.springframework.jdbc.UncategorizedSQLEx ...

  6. java编译提示错误信息_JAVA编译错误提示缺少“{”

    展开全部 有点粗心了 我把我修改过的发62616964757a686964616fe58685e5aeb931333335323435给你 具体问题:是extends不是extands 类Circle ...

  7. php显示地址栏携带的错误信息_php-fpm搭建及加固

    php-fpm安装 nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端. nginx一般是把请求发fastcgi管理进程 ...

  8. 如何让网页显示友好的错误信息页面

    大多数用户看到"该页无法显示","服务器内部错误"等默认错误提示信息会立马关闭浏览器窗口,我们为什么不能自定义一下呢?让用户从错误信息中得到真正的帮助? 错误信 ...

  9. 设计友好的错误信息页面

    大多数用户看到"该页无法显示","服务器内部错误"等默认错误提示信息会立马关闭浏览器窗口,我们为什么不能自定义一下呢?让用户从错误信息中得到真正的帮助?    ...

最新文章

  1. 大工18秋c c 语言程序设计,大工19秋《可编程控制器》在线作业3【满分答案】
  2. Qt实现FlatUI样式(开源)
  3. 1.7 单层卷积网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  4. GloVe:Global Vectors for Word Representation
  5. 多播程序设计(基于UDP协议)
  6. 二进制权值计算 lsb_2020年二级计算机基础知识备考(第二章)
  7. ELK 使用小技巧(第 5 期)
  8. PHP网站开发有哪些框架,罗列几款时下高人气的PHP开发框架
  9. Leetcode--221--Maximal Square
  10. 社交平台在网络诈骗类黑产对抗的防控
  11. 【微信读书】《我不过低配的人生》- 雾拦满江 读书笔记
  12. 如何在手机浏览器中实现条形码/QR码扫描
  13. 移动开发即服务,腾讯云移动开发平台打造开发新模式
  14. react 中样式写法
  15. 挖出api接口的重要性
  16. stream 计算一个List对象中某个字段总和
  17. Python数据分析入门(一)——初探数据可视化
  18. index.dat文件剖析(转)
  19. 计算机应用基础实验指导ppt,2016计算机应用基础实验指导.ppt
  20. pgsql sql字段拼接

热门文章

  1. GOF23设计模式(创建型模式)单例模式
  2. c++ Factor泛型编程示例
  3. Xilinx FPGA全局介绍
  4. XLearning - 深度学习调度平台
  5. [JavaScript]走进 JAVASCRIPT 黑洞
  6. python >> 和 <<
  7. Android 相对布局别自己快遗忘的属性layout_alignRight,layout_alignBottom,layout_alignTop,layout_alignLeft
  8. Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
  9. swoole安装异步reids
  10. xpath选择器简介及如何使用