這篇文章基于PHP7
從PHP7起族奢,PHP對異常做了較大改變越走,引入了Error
靠欢,調整了繼承結構
Stringable
這是個interface,只要能轉字符串的類都應該實現(xiàn)這個接口
Throwable
能被throw拋出的最基本的接口门怪,但是PHP不允許直接實現(xiàn)這個接口
Exception
所有用戶級異常的基類,想要自定義異常就可以繼承這個
LogicException
代碼邏輯錯誤肋殴,就是代碼寫的不對
BadFunctionCallException
如果回調函數(shù)未定義或缺少參數(shù)的時候坦弟,拋出這個異常
BadMethodCallException
如果回調方法未定義或缺少參數(shù)的時候,拋出這個異常
DomainException
如果一個值不在有效的值列表中烙懦,則拋出這個異常
InvalidArgumentException
參數(shù)無效
LengthException
長度無效
OutOfRangeException
下標越界
RuntimeException
運行時異常
OutOfBoundsException
無效key修陡,在編譯階段未檢測出來的
OverflowException
溢出
RangeException
執(zhí)行期間的范圍異常,相當于編譯期間的DomainException
UnderflowException
空對象上的無效操作魄鸦,eg: 刪除元素
UnexpectedValueException
值不在可接受集合
ErrorException
錯誤異常
Error
內部錯誤的基類
TypeError
類型不匹配
ArgumentCountError
參數(shù)數(shù)量不匹配
ArithmeticError
數(shù)學運算錯誤
DivisionByZeroError
除零錯誤
AssertionError
斷言失敗錯誤
CompileError
編譯錯誤
ParseError
解析PHP代碼錯誤
ValueError
傳值錯誤
UnhandledMatchError
match未被匹配到任何分支
FiberError
在纖程上執(zhí)行無效操作