php學習筆記--error_PHP教程

來源:互聯網
上載者:User

php學習筆記--error


不同的錯誤處理方法:簡單的die()語句自訂錯誤函數和錯誤觸發器錯誤報表 基本的錯誤處理:使用die()函數
if(!file_exists("welcome.txt")){ die("FIle not found");}else{ $file=fopen("welcome.txt","r");}
或者$file=fopen("webdictionary.txt","r") or die("Unable to open file!");
die(status):如果status是字串,則該函數會在推出前輸出字串。 如果status是認證,這個值會被用作退出狀態。退出狀態的值在0到254之間。退出狀態255由php保留,不會被使用。狀態0用於成功地終止程式。
建立自訂錯誤處理器:該函數必須有能力處理至少兩個參數(error level和error message),但是可以接受最多五個參數(可選的:file,line-number以及error context)。error_function(error_level,error_message,error_file,error_line,error_context)//錯誤報表層級,錯誤訊息,發送錯誤的檔案名稱,行號,規定一個數組(包含了當錯誤發生時在用的每個變數以及它們的值)
常量 描述
2 E_WARNING 非致命的 run-time 錯誤。不暫停指令碼執行。
8 E_NOTICE

Run-time 通知。指令碼發現可能有錯誤發生,但也可能在指令碼正常運行時發生。

256 E_USER_ERROR 致命的使用者產生的錯誤。這類似於程式員使用 PHP 函數 trigger_error() 設定的 E_ERROR。
512 E_USER_WARNING 非致命的使用者產生的警告。這類似於程式員使用 PHP 函數 trigger_error() 設定的 E_WARNING。
1024 E_USER_NOTICE 使用者產生的通知。這類似於程式員使用 PHP 函數 trigger_error() 設定的 E_NOTICE。
4096 E_RECOVERABLE_ERROR 可捕獲的致命錯誤。類似 E_ERROR,但可被使用者定義的處理常式捕獲。(參見 set_error_handler())
8191 E_ALL 所有錯誤和警告,除層級 E_STRICT 以外。(在 PHP 6.0,E_STRICT 是 E_ALL 的一部分)





function customError($errno,$errstr){echo " Error:[$errno] $errstr
";echo "Ending Script";die();}
當上述錯誤被觸發時,它會取得錯誤層級和錯誤訊息。然後它會輸出錯誤層級和訊息,並終止指令碼。現在,已經建立了一個錯誤處理函數,我們需要確定在何時觸發該函數。
Set Error Handler:php的預設錯誤處理程式是內奸的錯誤處理程式。可以修改錯誤處理程式,使其僅應用到某些錯誤,這樣指令碼就可以不同的方式來處理不同的錯誤。
本例中,我們打算針對所有錯誤來使用我們的自訂錯誤處理程式。
set_error_handle(“customError”);當處理所有錯誤時,set_error_handler()僅需要一個參數,可以添加第二個參數來規定錯誤層級。
觸發錯誤:當使用者的輸入無效時觸發錯誤。由trigger_error()完成。$test=2;if($test>1){trigger_error("Value must be 1 or below");//大於1時觸發錯誤}
可能的錯誤類型:E_USER_ERROR:E_USER_WARNING:E_USER_NOTICE:




























http://www.bkjia.com/PHPjc/851379.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/851379.htmlTechArticlephp學習筆記--error 不同的錯誤處理方法:簡單的die()語句自訂錯誤函數和錯誤觸發器錯誤報表 基本的錯誤處理:使用die()函數 if(!file_exis...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.