觸發錯誤
在指令碼中使用者輸入資料的位置,當使用者的輸入無效時觸發錯誤的很有用的。在 php 中,這個任務由 trigger_error() 完成。
例子在本例中,如果 "test" 變數大於 "1",就會發生錯誤:
$test=2;
if ($test>1)
trigger_error("value must be 1 or below");
以上**的輸出應該類似這樣:
notice: value must be 1 or below
in c:\webfolder\test.php on line 6
您可以在指令碼中任何位置觸發錯誤,通過新增的第二個引數,您能夠規定所觸發的錯誤級別。
可能的錯誤型別:
e_user_error - 致命的使用者生成的 run-time 錯誤。錯誤無法恢復。指令碼執行被中斷。
e_user_warning - 非致命的使用者生成的 run-time 警告。指令碼執行不被中斷。
e_user_notice - 預設。使用者生成的 run-time 通知。指令碼發現了可能的錯誤,也有可能在指令碼執行正常時發生。
例子在本例中,如果 "test" 變數大於 "1",則發生 e_user_warning 錯誤。如果發生了 e_user_warning,我們將使用我們的自定義錯誤處理程式並結束指令碼:
//error handler function
function customerror($errno, $errstr)
echo "error:[$errno] $errstr
";echo "ending script";
die();
//set error handler
set_error_handler("customerror",e_user_warning);
//trigger error
$test=2;
if ($test>1)
trigger_error("value must be 1 or below",e_user_warning);
以上**的輸出應該類似這樣:
error: [512] value must be 1 or below
ending script
現在,我們已經學習了如何建立自己的 error,以及如何處罰它們,現在我們研究一下錯誤記錄。
php 不列印錯誤資訊 php不輸出錯誤資訊怎麼辦
php不輸出錯誤資訊的解決辦法 首先開啟 php.ini 然後修改內容為 error reporting e alldisplay errors on 最後儲存修改即可。本教程操作環境 windows7系統 php7.1版,該方法適用於所有品牌電腦。php不輸出錯誤資訊的解決辦法 安裝完lnmp之後...
php列印錯誤資訊
方法一 修改php.ini 顯示錯誤資訊 display errors on 顯示php開始錯誤資訊 display startup errors on 日誌記錄錯誤資訊 log errors on方法二 需要除錯的php 檔案頭部加入 ini set display errors 1 錯誤資訊 i...
spring ibatis 不列印錯誤資訊
最近學習spring ibatis的時候 碰到乙個問題 部分 如下 msgtempsend.setsendtype 2222222222222 public object insertstudent student student 如 上 資料庫中sendtype 字段 是number 2 所以在插...