1、php錯誤報告級別
1 e_error 致命的執行錯誤。錯誤無法恢復,暫停執行指令碼。
2 e_warning 執行時警告(非致命性錯誤)。非致命的執行錯誤,指令碼執行不會停止。
4 e_parse 編譯時解析錯誤。解析錯誤只由分析器產生。
8 e_notice 執行時提醒(這些經常是你**中的bug引起的,也可能是有意的行為造成的。)
error_reporting = e_all & ~e_notice
2、自定義php錯誤報告方式
set_error_handler("myerrorfun");
$mess ="";
function myerrorfun($error_type,$error_message,$error_file,$error_line)型別、錯誤訊息,在資料夾,第行。";}
gettype($a);
echo"$mess";
set_error_handler($_type,$_message,$_errfile,$_errline) 函式設定使用者自定義的錯誤處理程式,然後觸發錯誤
3、php記錄錯誤日誌
log_errors = on 開啟php日誌
error_log =syslog 將php日誌寫到系統上去。
error_log = 「c:/lamp/php_error.log」;自已指定乙個存放目錄、與上面相斥
ini_set(「log_errors」,「on」); 在php開發檔案裡設定
trycatch(exception $e)
//當try{}裡面不成功就丟擲catch裡面的異常
4、自定義異常類
//自定義異常類、必須是系統類exception的子類
//如果繼承exception類、重寫了構造方法、一定要調一下父類中被覆蓋的方法/
class mybtexception extends exception
functionchangbt()
}trycatch(mybtexception $e)
5、自定義多個異常類
//寫出對應這個異常解決方法, 就是一下正常類的結構
class mybtexception extends exception
functionchangbt()
}class wcexception extends exception
}class noexception extends exception
}class flexception extends exception
}class dm
echo"哈哈,事兒辦的很成功!";}
function eat($time)
echo"吃的很好!";}
function dri($dz)
echo"車開的不錯!";}
function run($yu)
echo"高速很好走!";}
}echo "早上起床
";try catch(mybtexception $e) catch(exception$e)
} catch(noexception $e) catch(wcexception $e) catch(exception $e)
echo"到公司開始工作
";
PHP 錯誤,異常處理
ini set display errors false 影響的是否在php頁輸出錯誤資訊,但不影響在錯誤日誌檔案輸出 error reporting 0 錯誤級別,影響在php頁輸出及日誌檔案輸出 error log aaa 函式向錯誤日誌寫一條資訊,但是不受set error handler s...
php日誌錯誤異常處理
php輸出所有的錯誤報告error reporting e all設定 例如不顯示警告error reporting e all e warning 用php函式設定php.ini ini set 如 ini set error reporting e all 獲取php.ini裡面的值可以用函式i...
PHP錯誤與異常處理
和其他程式語言遇到錯誤就丟擲異常不一樣,php在處理物件時它也有異常機制,但是php會盡可能的愉快的去執行而無視發生的事情,除非遇到乙個極端嚴重錯誤才會丟擲異常。本文概述php相關的錯誤異常處理機制。錯誤等級 php 有幾個錯誤嚴重性等級。三個最常見的的資訊型別是錯誤 error 通知 notice...