- 相關(guān)推薦
PHP7錯誤處理機制詳解介紹
我們來看一篇關(guān)于PHP7錯誤處理機制詳解介紹,對于php7新特性我們有介紹過不小的教程,希望文章能夠幫助到各位朋友。就跟隨百分網(wǎng)小編一起去了解下吧,想了解更多相關(guān)信息請持續(xù)關(guān)注我們應屆畢業(yè)生考試網(wǎng)!
<script>ec(2);</script>
HP7實現(xiàn)了一個全局的throwable接口,原來的Exception和部分Error都實現(xiàn)了這個接口(interface), 以接口的方式定義了異常的繼承結(jié)構(gòu)。于是,PHP7中更多的Error變?yōu)榭刹东@的Exception返回給開發(fā)者,如果不進行捕獲則為Error,如果捕獲就變?yōu)橐粋可在程序內(nèi)處理的Exception。這些可被捕獲的Error通常都是不會對程序造成致命傷害的Error,例如函數(shù)不存。
一、現(xiàn)在有兩個異常類:Exception and Error.
PHP7現(xiàn)在有兩個異常類,Exception and Error。這兩個類都實現(xiàn)了一個新的接口:Throwable。在您的異常處理代碼中,類型暗示可能需要調(diào)整下。
<?php
try {
not_exists_func();
} catch (EngineException $e) {
var_dump($e->getMessage());
}
output:
string(44) "Call to undefined function not_exists_func()"
二、一些致命錯誤和可恢復致命錯誤改為拋出Error對象。
有一些致命錯誤和可恢復致命錯誤現(xiàn)在改為報出Error對象。Error對象是和Exception獨立的,它們無法被常規(guī)的try/catch撲獲。編者按:需要注冊錯誤處理函數(shù),請參考下面的RFC。
對于這些已經(jīng)轉(zhuǎn)為異常的可恢復致命錯誤,已經(jīng)無法通過error handler靜默的忽略掉。尤其是無法忽略類型暗示錯誤。
三、語法錯誤會拋出一個ParseError對象
語法錯誤會拋出一個ParseError對象,該對象繼承自Error對象。之前處理eval()的時候,對于潛在可能錯誤的代碼除了檢查返回值或者error_get_last()之外,還應該捕獲ParseError對象。
四、內(nèi)部對象的構(gòu)造方法如果失敗的時候總會拋出異常
內(nèi)部對象的構(gòu)造方法如果失敗的時候總會報出異常。之前的有一些構(gòu)造方法會返回NULL或者一個無法使用的對象。
五、一些E_STRICT錯誤的級別調(diào)整了。
【PHP7錯誤處理機制詳解介紹】相關(guān)文章:
關(guān)于Linux內(nèi)存機制的詳解09-15
PHP7系列中的異常處理08-11
PHP7系列之-異常處理06-07
十件在PHP7中不要做的事情10-15
PHP7的五大新特性有哪些08-11
2017小升初面試自我介紹要點詳解08-27
WIFI的安全機制10-17
Dreamweaver技巧詳解09-01
java ClassLoader機制講解07-31
PHP 的錯誤機制總結(jié)09-12