日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PHP7中的錯(cuò)誤處理
在過去的 php 中,處理致命錯(cuò)誤幾乎是不可能的。致命錯(cuò)誤不會(huì)調(diào)用由 set_error_handler() 設(shè)置的處理方式,而是簡單的停止腳本的運(yùn)行。而在 PHP7 中改變了大多數(shù)錯(cuò)誤的報(bào)告方式,不同于之前版本的錯(cuò)誤報(bào)告機(jī)制,現(xiàn)在大多數(shù)錯(cuò)誤被作為 Error 異常拋出。

創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋成都食品包裝袋等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身定制品質(zhì)網(wǎng)站。

這種 Error 異??梢韵?Exception 異常一樣被第一個(gè)匹配的 try catch 語句塊所捕獲。如果沒有匹配的 catch 語句塊,則調(diào)用異常處理函數(shù)(事先通過 set_exception_handler() 注冊(cè))進(jìn)行處理。如果尚未注冊(cè)異常處理函數(shù),則報(bào)告為一個(gè)致命錯(cuò)誤(Fatal Error)。

注意:Error 類并非繼承自 Exception 類,所以不能用 catch (Exception $e) { ... } 來捕獲 Error。可以用 catch (Error $e) {...},或者通過注冊(cè)異常處理函數(shù) set_exception_handler() 來捕獲 Error。

【示例】如下代碼自動(dòng)捕獲一個(gè)致命錯(cuò)誤。

getMessage().'
Error 發(fā)生的行號(hào):'.$e->getLine(); } ?>

運(yùn)行結(jié)果如下:

Error 的信息:Class 'cat' not found
Error 發(fā)生的行號(hào):3

在 PHP7 中實(shí)現(xiàn)了一個(gè)全局的所有可以通過 throw 語句拋出的異常的 throwable 基礎(chǔ)接口,原有的 Exception 和新增的部分 Error 都實(shí)現(xiàn)了這個(gè)接口,以接口的方式定義了異常的繼承結(jié)構(gòu),也明確了Exception 和各種 Error 都可以被當(dāng)做一種可拋出的異常來處理。

要知道的是目前 PHP7 中并不是所有的錯(cuò)誤均實(shí)現(xiàn)了 throwable 接口或繼承至 PHP7 新增的 Error 類,原先 PHP5 中的一些錯(cuò)誤特別是一些 E_PARSE、E_ERROR 級(jí)別的致命錯(cuò)誤在 PHP7 中變?yōu)榱丝刹东@的 throwable(Exception 對(duì)象或子對(duì)象和 Error 對(duì)象或子對(duì)象),如果不進(jìn)行捕獲則為一個(gè)錯(cuò)誤,如果捕獲就變?yōu)橐粋€(gè)可在程序內(nèi)處理的異常(throwable)。

基于上述分析可以這樣理解:PHP7 中的異常所表示的范圍相對(duì)于 PHP5 更為寬泛了,既包含了 PHP5 中的 Exception,又新增了 PHP7 才加入的 Error,而 Exception 和 Error 又都是實(shí)現(xiàn)了 throwable 接口,所以 PHP7 之后談到異常首先應(yīng)該想到的是 throwable 而不是 Exception。

throwable 接口的層次結(jié)構(gòu)如下所示:

Throwable
  ├─ Error
  │    ├─ ArithmeticError
  │    │     └─ DivisionByZeroError
  │    ├─ AssertionError
  │    ├─ CompileError
  │    │    └─ ParseError
  │    └─ TypeError
  │           └─ ArgumentCountError
  └─ Exception
         └─ ...(各種 Exception 的子類)


分享名稱:PHP7中的錯(cuò)誤處理
鏈接分享:http://m.5511xx.com/article/dpgpood.html