資源描述:
《傳智播客 韓順平 php從入門到精通 79-99講異常處理與進(jìn)階課堂筆記》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、php中錯(cuò)誤和異常處理的機(jī)制如果沒有錯(cuò)誤處理機(jī)制怎樣?上面的代碼沒有處理錯(cuò)誤,應(yīng)當(dāng)這樣寫程序更加健壯.
2、aa.txt","r");??????????echo"文件打開成功";??????????//....關(guān)閉??????????fclose($fp);????}?>解釋了一下絕對(duì)路徑和相對(duì)路徑php處理錯(cuò)誤的三種方法1.????使用簡(jiǎn)單的die語句使用方法如下:(1)if(!file_exists("aaa.txt")){??????????die("文件不存在");????}else{??????????//打開文件操作????}????echo"ok";(2)更簡(jiǎn)單的方法file_exists("aaa.txt")ordie("文件不存在!!!");5?分鐘前上傳下載附件(53.76KB
3、)????用戶自定義錯(cuò)誤處理器在php中對(duì)錯(cuò)誤有不同的級(jí)別區(qū)分:2?分鐘前上傳下載附件(48.24KB)案例入門:$errno
";??????????echo"錯(cuò)誤信息是:";??????????exit();????}????//改寫set_error_handler處理器????//下面這句話的含義是:如果出現(xiàn)了E_WARNING這個(gè)級(jí)別的錯(cuò)誤,就去調(diào)用m
4、y_error函數(shù).????set_error_handler("my_error",E_WARNING);????$fp=fopen("aa.txt","r");?????>原理圖:2?分鐘前上傳下載附件(45.49KB)????錯(cuò)誤觸發(fā)器需求:有一段代碼:如果接受一個(gè)年齡,如果年齡輸入>120,我認(rèn)為就是一一個(gè)錯(cuò)誤.//傳統(tǒng)的方法if($age>120){????echo“年齡過大”;????exit();}//需求,輸入一個(gè)薪水,如果大于10000,我認(rèn)為有是錯(cuò)誤.if($salary>10000){????echo“薪水多”;????exit();}1現(xiàn)在我們可以使用自定義錯(cuò)誤觸發(fā)器來
5、完成!快速入門案例://自定義錯(cuò)誤函數(shù)????function??my_error3($errno,$errmes){??????????echo"錯(cuò)誤號(hào)是:".$errno;????}????functionmy_error4($errno,$errmes){??????????echo"出大事了".$errno;??????????exit();????}????//指定E_USER_WARNING錯(cuò)誤級(jí)別的函數(shù)????set_error_handler("my_error3",E_USER_WARNING);????set_error_handler("my_error4",E_USER
6、_ERROR);????????$age=700;????if($age>120){??????????//調(diào)用觸發(fā)器,時(shí)候同時(shí)指定錯(cuò)誤級(jí)別.??????????trigger_error("輸入年齡過大1",E_USER_ERROR);??????????//exit();????}????echo"ok";原理圖????php錯(cuò)誤日志保存保存錯(cuò)誤日志的用處是便于,后續(xù)分析.基本方法是使用error_log來實(shí)現(xiàn).基本用法是://自定義錯(cuò)誤函數(shù)????function??my_error3($errno,$errmes){??????????$err_info="錯(cuò)誤號(hào)是:".$errno.
7、"--".$errmes;??????????echo$err_info;??????????//把這個(gè)錯(cuò)誤信息保存??????????//r表示向文件輸入一個(gè)回車換行??????????//
表示向網(wǎng)頁輸出一個(gè)回車換行??????????error_log($err_info."r",3,"d:/myerr.txt");????}現(xiàn)在我們要把時(shí)間保存下來.????php中處理