編程學習網 > 編程教程 > PHP7 教程
2015
12-05

PHP7錯誤處理機制修改

清華大佬耗費三個月吐血整理的幾百G的資源,免費分享!....>>>

一、現在有兩個異常類:Exception and Error.

PHP7現在有兩個異常類,Exception and Error。這兩個類都實現了一個新的接口:Throwable。在您的異常處理代碼中,類型暗示可能需要調整下。

二、一些致命錯誤和可恢復致命錯誤改為拋出Error對象。

有一些致命錯誤和可恢復致命錯誤現在改為報出Error對象。Error對象是和Exception獨立的,它們無法被常規的try/catch撲獲。編者按:需要注冊錯誤處理函數,請參考下面的RFC。

對于這些已經轉為異常的可恢復致命錯誤,已經無法通過error handler靜默的忽略掉。尤其是無法忽略類型暗示錯誤。

三、語法錯誤會拋出一個ParseError對象

語法錯誤會拋出一個ParseError對象,該對象繼承自Error對象。之前處理eval()的時候,對于潛在可能錯誤的代碼除了檢查返回值或者error_get_last()之外,還應該捕獲ParseError對象。

四、內部對象的構造方法如果失敗的時候總會拋出異常

內部對象的構造方法如果失敗的時候總會報出異常。之前的有一些構造方法會返回NULL或者一個無法使用的對象。

五、一些E_STRICT錯誤的級別調整了。

六、參考資料

https://wiki.php.net/rfc/engine_exceptions_for_php7
https://wiki.php.net/rfc/throwable-interface
https://wiki.php.net/rfc/internal_constructor_behaviour
https://wiki.php.net/rfc/reclassify_e_strict

掃碼二維碼 獲取免費視頻學習資料

編程學習