PHP错误与异常

PHP异常继承树.png

这篇文章基于PHP7
从PHP7起,PHP对异常做了较大改变,引入了Error,调整了继承结构

Stringable
这是个interface,只要能转字符串的类都应该实现这个接口

Throwable
能被throw抛出的最基本的接口,但是PHP不允许直接实现这个接口

Exception
所有用户级异常的基类,想要自定义异常就可以继承这个

LogicException
代码逻辑错误,就是代码写的不对

BadFunctionCallException
如果回调函数未定义或缺少参数的时候,抛出这个异常

BadMethodCallException
如果回调方法未定义或缺少参数的时候,抛出这个异常

DomainException
如果一个值不在有效的值列表中,则抛出这个异常

InvalidArgumentException
参数无效

LengthException
长度无效

OutOfRangeException
下标越界

RuntimeException
运行时异常

OutOfBoundsException
无效key,在编译阶段未检测出来的

OverflowException
溢出

RangeException
执行期间的范围异常,相当于编译期间的DomainException

UnderflowException
空对象上的无效操作,eg: 删除元素

UnexpectedValueException
值不在可接受集合

ErrorException
错误异常

Error
内部错误的基类

TypeError
类型不匹配

ArgumentCountError
参数数量不匹配

ArithmeticError
数学运算错误

DivisionByZeroError
除零错误

AssertionError
断言失败错误

CompileError
编译错误

ParseError
解析PHP代码错误

ValueError
传值错误

UnhandledMatchError
match未被匹配到任何分支

FiberError
在纤程上执行无效操作

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于错误与异常的最后一篇文章,我们来进行一些总结。 PHP中错误和异常的区别 通过前面两篇文章的学习,我们来直接将...
    ZyBlog阅读 195评论 0 0
  • 上回文章中我们讲到了错误是编译和语法运行时会出现的,它们与逻辑无关,是程序员在码代码时不应该出现的,也就是说,这些...
    ZyBlog阅读 163评论 0 0
  • 在PHP的学习过程中,我们会接触到两个概念,一个是错误,一个是异常。啥玩意?他们不是一个东西嘛?如果接触过Java...
    ZyBlog阅读 218评论 0 0
  • 错误和异常 一直对错误和异常的区别很模糊,究竟什么时候该用错误,什么时候该用异常。我还是问了我的一个朋友,下面引用...
    at小宇阅读 525评论 0 2
  • 标签: PHP 本篇文章旨在提供一个对PHP7版本中Zend虚拟机的概述,不会做到面面俱到的详细叙述,但尽力包含大...
    JUTSSAM阅读 1,716评论 1 3