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