先看下PHP默認的錯誤提示,我們先寫一個有問題的代碼,除法運算我們除以0,大家都知道除法是不能除0的,程序也知道這個規則,所以它會報錯。
頁面運行后,顯示了一個丑陋的錯誤信息,而且把代碼文件給暴露出來了。
我們應該避免這種情況,自定義錯誤處理,讓出錯信息更友善。
可以調用php的set_error_handler函數,這個函數接收一個字符串參數,指明一個函數來自定義錯誤處理。
接著我們來定義這個錯誤處理的函數。
displayError函數里,我們重新對錯誤信息進行了包裝輸出。根據不同級別(errorNo)的錯誤,顯示不同的信息。
現在再次運行頁面,看下報錯信息是怎樣顯示的。
如圖,可以看到現在的報錯信息比較友善了。
(你可以對這個報錯信息做更美觀的設計,這里只做示例。)
除了程序在執行時發現問題,觸發錯誤外,我們還可以自己觸發錯誤處理。比如是業務邏輯上的問題,而不是代碼問題,我們也可以觸發錯誤處理。
調用php的trigger_error函數就可以了,這個函數接收二個參數,第一個是錯誤信息,第二個是錯誤的級別。代碼如圖
運行后,看下現在的報錯信息,如圖,成功觸發了錯誤處理。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!