程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php學習筆記--error

php學習筆記--error

編輯:關於PHP編程

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:




























  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved