錯誤處理
一、錯誤分類
1. 語法錯誤
一行代碼都不執行 最好排除
2. 運行時錯誤
依賴於數據驗證 永遠不要相信你的用戶
3. 邏輯錯誤
程序員一輩子的痛 依賴經驗
二、錯誤級別
1. notice 提示 我們不鳥他 但是一般都要屏蔽掉
2. warning 警告 需要排除掉
3. error 錯誤 後續代碼不在執行
三、屏蔽錯誤
1. ini_set(‘display_errors’,0);
2. error_reporting(E_ALL ^ E_NOTICE);
四、異常錯誤
i. 異常對象
new Exception 異常處理類 得到對象
ii. 異常處理類
Exception 他是php自動有的一個類你有異常就會產生這個類
iii. 得到錯誤信息
打印對象下面的getMessage() 方法就可以將錯誤信息輸出
iv. 拋出異常
五、try catch結構
try{
拋出異常
}catch(){
得到異常
}
注意: throw 類似return一旦執行後續代碼,不再繼續執行。
六、得到異常使用方法
//echo $a->getMessage();//getMessage() 返回錯誤信息
//echo $a->getCode();//getCode()返回異常代碼
//echo $a->getFile();//getFile() 返回異常文件名
//echo $a->getLine();// getLine() 返回異常的代碼行號
var_dump($a->getTrace());//getTrace()返回一個數組
七、多層try catch 結構
try{
//throw new HTMLException('頁面出現錯誤');
//throw new DBException('數據庫連接失敗');
throw new Exception('錯啦錯啦錯誤啦');
}catch(HTMLException $e){
echo '404 error';
}catch(DBException $e){
//偷偷記錄日誌
echo '服務器維護中......';
}catch(Exception $e){
echo '處理漏網之魚';
}
一層一層篩選 直到你抓取到異常