PHP系列(七)PHP錯誤異常處理

2021-09-20 16:45:23 字數 1773 閱讀 1363

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...