這篇文章主要介紹了php異常處理使用示例,代碼說明了普通錯誤和致命錯誤捕獲及處理的方法,需要的朋友可以參考下
代碼如下: <?php //禁止錯誤輸出 error_reporting(0); //設置錯誤處理器 set_error_handler('errorHandler'); register_shutdown_function('fatalErrorHandler'); class Test{ public function index(){ //這裡發生一個警告錯誤,出發errorHandler echo $undefinedVarible; } } function errorHandler($errno,$errstr,$errfile,$errline){ $arr = array( '['.date('Y-m-d h-i-s').']', 'http://www.baidu.com', '|', $errstr, $errfile, 'line:'.$errline, ); //寫入錯誤日志 //格式 : 時間 uri | 錯誤消息 文件位置 第幾行 error_log(implode(' ',$arr)."rn",3,'./test.txt','extra'); echo implode(' ',$arr)."rn"; } //捕獲fatalError function fatalErrorHandler(){ $e = error_get_last(); switch($e['type']){ case E_ERROR: case E_PARSE: case E_CORE_ERROR: case E_COMPILE_ERROR: case E_USER_ERROR: errorHandler($e['type'],$e['message'],$e['file'],$e['line']); break; } } $test = new Test(); ////這裡發生一個警告錯誤,被errorHandler 捕獲 $test->index(); //發生致命錯誤,腳本停止運行觸發 fatalErrorHandler $test = new Tesdt(); $test->index();