php 錯誤層級設定方法

來源:互聯網
上載者:User
在php編程過程中,大家一定會遇到或多或少的錯誤提醒,也正是這些錯誤提示,指引我們編寫更加乾淨的代碼,今天先寫出我們主要列出的錯誤類型,先挖坑,寫關於php錯誤與異常的相關知識,慢慢填坑。

  • Deprecated最低層級錯誤,程式繼續執行

  •  Notice 通知層級的錯誤 如直接使用未聲明變數,程式繼續執行

  •  Warning 警告層級的錯誤,可能得不到想要的結果

  •  Fatal error 致命層級錯誤致命層級錯誤,程式不往下執行

  •  parse error 文法解析錯誤,最進階別錯誤,連其他錯誤資訊也不呈現出來

  •  E_USER_相關錯誤 使用者佈建的相關錯誤

  利用trigger_error()函數設定一個使用者層級的 error/warning/notice 資訊

  如何設定錯誤層級?

修改報錯層級:

    1: php.ini裡修改error_reporting 選項
    2: 可以在php頁面裡,用error_reporting()函數來修改

錯誤層級用2進位的值來表示的: 1111 1111 1111 111從左至右,每位上的1,代表一種錯誤層級

  fatal error致命錯誤: 0000 0000 0000 001 開啟 1
  warning 警告錯誤 : 0000 0000 0000 010 開啟 2
  NOTICE 警告 : 0000 0000 0001 000 開啟 8

eg:

    都報出來: error_reporting(11);
    不要報NOTICE: error_reporting(3);
    任何錯誤都不報: error_reporting(0);

系統為我們把各個層級的值,用系統常量代替了.

    E_ERROR 1
    E_WARNING 2
    E_NOTICE 8

報所有錯誤: error_reporting(E_ALL);

除了NOTICE,其他都報: error_reporting(E_ALL & ~E_NOTICE);

  在開發中,報錯層級高一點,在上線產品中,報錯層級要低:+
代碼如下:

  define('DEBUG',true); // 在開發時,聲明一個DEBUG模式     if(defined('DEBUG')) { //檢測到處於開發模式     error_reporting(E_ALL);     } else {     error_reporting(0);     }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.