• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    PHP如何自定義錯誤處理?

    在做php開發時,我們開發的程序有時會出錯,也許是代碼的問題,又或者是用戶輸入的數據有問題,如果我們不對錯誤做定制,php就會顯示一個比較丑陋的錯誤提示,而且會暴露我們的程序信息。那么我們該如何自定義錯誤處理?

    操作方法

    • 01

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

    • 02

      頁面運行后,顯示了一個丑陋的錯誤信息,而且把代碼文件給暴露出來了。

    • 03

      我們應該避免這種情況,自定義錯誤處理,讓出錯信息更友善。
      可以調用php的set_error_handler函數,這個函數接收一個字符串參數,指明一個函數來自定義錯誤處理。

    • 04

      接著我們來定義這個錯誤處理的函數。
      displayError函數里,我們重新對錯誤信息進行了包裝輸出。根據不同級別(errorNo)的錯誤,顯示不同的信息。

    • 05

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

    • 06

      除了程序在執行時發現問題,觸發錯誤外,我們還可以自己觸發錯誤處理。比如是業務邏輯上的問題,而不是代碼問題,我們也可以觸發錯誤處理。
      調用php的trigger_error函數就可以了,這個函數接收二個參數,第一個是錯誤信息,第二個是錯誤的級別。代碼如圖

    • 07

      運行后,看下現在的報錯信息,如圖,成功觸發了錯誤處理。

    • End
    • 發表于 2017-10-10 00:00
    • 閱讀 ( 715 )
    • 分類:電腦網絡

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆