IT技術

當前位置 /首頁/遊戲數碼/IT技術/列表

PHP如何自定義錯誤處理?

在做php開發時,我們開發的程式有時會出錯,也許是程式碼的問題,又或者是使用者輸入的資料有問題,如果我們不對錯誤做定製,php就會顯示一個比較醜陋的錯誤提示,而且會暴露我們的程式資訊。那麼我們該如何自定義錯誤處理?

操作方法

(01)先看下PHP預設的錯誤提示,我們先寫一個有問題的程式碼,除法運算我們除以0,大家都知道除法是不能除0的,程式也知道這個規則,所以它會報錯。

PHP如何自定義錯誤處理?

(02)頁面執行後,顯示了一個醜陋的錯誤資訊,而且把程式碼檔案給暴露出來了。

PHP如何自定義錯誤處理? 第2張

(03)我們應該避免這種情況,自定義錯誤處理,讓出錯資訊更友善。可以呼叫php的set_error_handler函式,這個函式接收一個字串引數,指明一個函式來自定義錯誤處理。

PHP如何自定義錯誤處理? 第3張

(04)接著我們來定義這個錯誤處理的函式。displayError函式裡,我們重新對錯誤資訊進行了包裝輸出。根據不同級別($errorNo)的錯誤,顯示不同的資訊。

PHP如何自定義錯誤處理? 第4張

(05)現在再次執行頁面,看下報錯資訊是怎樣顯示的。如圖,可以看到現在的報錯資訊比較友善了。(你可以對這個報錯資訊做更美觀的設計,這裡只做示例。)

PHP如何自定義錯誤處理? 第5張

(06)除了程式在執行時發現問題,觸發錯誤外,我們還可以自己觸發錯誤處理。比如是業務邏輯上的問題,而不是程式碼問題,我們也可以觸發錯誤處理。呼叫php的trigger_error函式就可以了,這個函式接收二個引數,第一個是錯誤資訊,第二個是錯誤的級別。程式碼如圖

PHP如何自定義錯誤處理? 第6張

(07)執行後,看下現在的報錯資訊,如圖,成功觸發了錯誤處理。

PHP如何自定義錯誤處理? 第7張
TAG標籤:錯誤處理 自定義 PHP #