網(wǎng)頁編程語言學(xué)習(xí)第9章
*,吉林省,三揚(yáng)科,技咨詢有限公司,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版樣式,第二級(jí),第三級(jí),異常處理,課程內(nèi)容,課程內(nèi)容,異常處理簡介,異常處理流程圖,異常處理語法,PHP,的基本異常類,PHP,的擴(kuò)展異常類,捕獲多個(gè)異常,異常處理的優(yōu)點(diǎn),吉林省,三揚(yáng)科,技咨詢有限公司,異常處理簡介,異常處理是,PHP5,中新增加的高級(jí)內(nèi)置錯(cuò)誤機(jī)制。使用異常處理機(jī)制設(shè)計(jì)良好的錯(cuò)誤處理代碼塊集可使程序更可靠并且不容易崩潰。,異常處理的功能提供了處理程序運(yùn)行時(shí)出現(xiàn)的任何意外或異常情況的方法。當(dāng)異常被觸發(fā)時(shí),根據(jù)不同情況,處理器也許會(huì)從保存的代碼狀態(tài)狀態(tài)重新開始執(zhí)行代碼,終止腳本執(zhí)行,或從代碼中另外的位置繼續(xù)執(zhí)行腳本。,吉林省,三揚(yáng)科,技咨詢有限公司,異常處理流程圖,吉林省,三揚(yáng)科,技咨詢有限公司,異常處理語法,在,PHP,中,異常處理的語法格式如下:,<?,php,try,/,代碼塊,throw new Exception($error);,/,代碼塊,catch(Exception $e),/,錯(cuò)誤處理語句,?>,吉林省,三揚(yáng)科,技咨詢有限公司,PHP,的基本異常類,Exception,類用于腳本發(fā)生異常時(shí)建立異常對(duì)象,該異常對(duì)象將用于存儲(chǔ)異常信息并用于拋出和捕獲。,Exception,類的存在只是用于在拋出異常時(shí)存儲(chǔ)相應(yīng)的異常信息。,建立異常對(duì)象的語法格式,<?,php,$e=new Exception(string $,errmsg,int,$,errcode,);,?>,吉林省,三揚(yáng)科,技咨詢有限公司,Exception,類的代碼:,<?,php,class Exception,protected $message = 'Unknown exception',protected $code = 0;,protected $file; protected $line;,function _construct($message = null, $code = 0);,final function,getMessage,();,final function,getCode,();,final function,getFile,();,final function,getLine,();,final function,getTrace,();,final function,getTraceAsString,();,function _,toString,();,?>,吉林省,三揚(yáng)科,技咨詢有限公司,PHP,的擴(kuò)展異常類,在實(shí)際應(yīng)用中,往往根據(jù)異常類型的不同使用不同的異常處理類。這就需要對(duì)一般的異常處理類,Exception,進(jìn)行擴(kuò)展,,PHP5,支持用戶使用自定義的異常處理類來擴(kuò)展,PHP,內(nèi)置的異常處理類。,對(duì),Exception,類進(jìn)行擴(kuò)展的優(yōu)點(diǎn)包括:,可以更加容易地區(qū)分不同類型的異常,提高代碼的可讀性。,擴(kuò)展類可以提供自定義功能。,捕獲異常時(shí)可以根據(jù)異常類型的不同使用不同的異常處理類。,吉林省,三揚(yáng)科,技咨詢有限公司,捕獲多個(gè)異常,如果需要在一段代碼中使用多個(gè)異常來檢測多種情況,可以通過使用多個(gè),if.,和,else,代碼塊,或一個(gè),switch,代碼塊,或者嵌套多個(gè)異常等多種方式來實(shí)現(xiàn)。這些異常能夠使用不同的,Exception,類,并返回不同的錯(cuò)誤消息。,在捕獲異常的時(shí)候分別捕獲不同的異常對(duì)象來獲得不同的信息,需要注意以下兩點(diǎn):,捕獲異常時(shí),往往仍然需要捕獲,Exception,類,用來處理捕獲的異常。,在捕獲時(shí)是按照從上向下的捕獲順序,如果先捕獲,Exception,類,則會(huì)導(dǎo)致異常不能被正確的代碼處理。所以,應(yīng)當(dāng)將針對(duì)特定異常的,catch,語句寫在前面,將針對(duì)一般異常的,catch,語句寫在后面。,吉林省,三揚(yáng)科,技咨詢有限公司,異常處理的優(yōu)點(diǎn),程序的錯(cuò)誤將會(huì)在,catch,語句范圍內(nèi)被集中處理,提高了程序代碼的可讀性。而且,一旦異常被拋出,代碼將被終止運(yùn)行。,在進(jìn)行異常處理時(shí),可以方便地指定錯(cuò)誤信息和錯(cuò)誤代碼,不需要在主程序中進(jìn)行處理。同時(shí),通過異常處理還可以很方便地將錯(cuò)誤放到最合適地時(shí)候處理。,吉林省,三揚(yáng)科,技咨詢有限公司,案例場景,網(wǎng)站流量預(yù)警程序,創(chuàng)建,PHP,文件,文件路徑:,C:,AppServwwwyichang,文件名稱:,alarm.php,定義,Radio,類,用來表示報(bào)警器。,定義,Network,類,用來模擬增加網(wǎng)站訪問流量,創(chuàng)建網(wǎng)站訪問流量指示程序,吉林省,三揚(yáng)科,技咨詢有限公司,