奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

php語言

PHP7系列中的異常處理

時間:2024-12-25 03:36:46 php語言 我要投稿
  • 相關推薦

PHP7系列中的異常處理

  在PHP中碰到異常的時候我們應該怎么處理呢?以下是小編精心為大家整理的PHP7系列之-異常處理,希望對大家處理編程異常有所幫助!

  PHP7中的異常處理

  在PHP7中異常或者說錯誤被分為不同的等級

  1. 語法錯誤級別,也就是經常看到的Parse Error,這種錯誤,會在Zend引擎進行語法分析和編譯的時候就提示錯誤,注意這種錯誤一般都是比較低級的手寫錯誤,或者是關鍵詞寫錯,或者是少些一些分號等。對于這類錯誤,一般設置error_reporting(E_ALL)或者ini_set('display_errors','on'),在發生錯誤的時候,就會拋出異常,通過追蹤異常堆棧就可以發現問題所在

  2. Fatal Error錯誤,這種錯誤一般會導致PHP進程直接退出,也就是導致場景的白屏現象或者webserver返回500。這種錯誤是不能捕獲的,無法通過try...catch或者其他手段進行處理。(PHP7在這一塊做了比較明顯的升級,方便我們更好的處理部分異常,詳見后文分析)

  3. 正常的Exception。對于Exception我們常見的處理方式有兩種,一種是用try...catch語句。

  另一種的寫法常見于MVC框架,就是調用鉤子函數,在作者寫的Pfinal MVC框架中就用了這種方法,可以做到全局處理異常,當有未捕獲的異常的時候,使用鉤子函數注冊的處理函數進行處理,不至于會把異常堆棧丟給用戶,這是PHP5中高級一點的異常處理方法。以下是作者的Pfinal框架中的異常處理核心文件

  PHP7中的異常處理升級

  PHP7的改動中,影響比較大的,包括異常處理。PHP7實現了一個全局的throwable接口,原來的Exception和部分Error都實現了這個接口(interface), 以接口的方式定義了異常的繼承結構。于是,PHP7中更多的Error變為可捕獲的Exception返回給開發者,如果不進行捕獲則為Error,如果捕獲就變為一個可在程序內處理的Exception。這些可被捕獲的Error通常都是不會對程序造成致命傷害的Error,例如函數不存。

  PHP7中,基于/Error exception,派生了5個新的engine exception:ArithmeticError / AssertionError / DivisionByZeroError / ParseError / TypeError。在PHP7里,無論是老的/Exception還是新的/Error,它們都實現了一個共同的interface: /Throwable。

  對比原來的PHP5,

  處理語法錯誤Parse Error,針對于語法錯誤,原來的PHP5是遇到語法錯誤,就會終止PHP進程,同時拋出語法錯誤的提示。在新的PHP7中,這種異常類型被封裝為ParseError異常類,你可以在代碼中通過try...catch(ParseError $e){}來處理,媽媽在也不用擔心我少寫一個分號會導致系統直接奔潰了

  處理Fatal Error,例如以下代碼函數參數定義是classInstanceA的類型,但是實際調用的時候傳入了classInstanceB的類型,在PHP5中,會觸發一個Fatal Error,導致進程終止運行。

  現在在PHP7中,可以通過捕獲異常,處理以上錯誤,不會拋出Fatal Error

【PHP7系列中的異常處理】相關文章:

PHP7系列之異常處理08-15

PHP7系列之-異常處理06-07

PHP7的異常處理詳解05-10

Java編程中異常處理的方法06-03

Java編程中異常處理的最優法08-06

Java 異常處理12-22

全面理解java中的異常處理機制精選08-11

PHP異常處理辦法08-08

Java的異常處理及應用03-12

主站蜘蛛池模板: 吴川市| 五峰| 郁南县| 古田县| 额尔古纳市| 枣强县| 禄劝| 民乐县| 临沂市| 乌拉特中旗| 富源县| 罗源县| 黑龙江省| 彰武县| 鹤壁市| 徐闻县| 涟源市| 井冈山市| 延安市| 博兴县| 锡林郭勒盟| 中超| 香格里拉县| 常州市| 竹溪县| 偃师市| 长垣县| 陵水| 特克斯县| 沿河| 琼中| 苗栗市| 双江| 筠连县| 鄄城县| 讷河市| 土默特左旗| 准格尔旗| 金平| 铅山县| 沾益县|