PHP中通過trigger_error觸發(fā)PHP錯誤示例
【錯誤抑制符@】
除了 php.ini 中 error_reporting 和 display_errors 的設置、error_reporting() 函數(shù)、ini_set() 函數(shù) 外,還可以使用錯誤抑制符@ 屏蔽錯誤的輸出。
@ 加在任何會產(chǎn)生錯誤的表達式之前。
【通過 trigger_error 觸發(fā) PHP 錯誤】
觸發(fā)錯誤的功能不只限于 PHP 解析器,還可以通過 trigger_error() 函數(shù)觸發(fā)錯誤,類似于異常中拋出的異常一樣,拋出了一個錯誤,可以協(xié)助調(diào)試代碼。
【例】
代碼如下:
<?php
$num1 = 1;
$num2 = '2';
if(!(is_numeric($num1) && is_numeric($num2))){
//手動拋出通知級別的錯誤
trigger_error('num1 和 num2 必須為合法數(shù)值', E_USER_NOTICE);
}else{
echo $num1 + $num2;
}
echo '<br />程序繼續(xù)向下執(zhí)行';
輸出:
代碼如下:
3
程序繼續(xù)向下執(zhí)行
而:
代碼如下:
<?php
$num1 = 1;
$num2 = '2a';
if(!(is_numeric($num1) && is_numeric($num2))){
//手動拋出通知級別的錯誤
trigger_error('num1 和 num2 必須為合法數(shù)值', E_USER_NOTICE);
}else{
echo $num1 + $num2;
}
echo '<br />程序繼續(xù)向下執(zhí)行';
輸出:
代碼如下:
( ! ) Notice: num1 和 num2 必須為合法數(shù)值 in D:/practise/php/Error/error1.php on line 6
程序繼續(xù)向下執(zhí)行
【其他】當數(shù)據(jù)庫連接不上時等嚴重錯誤時,可以手動拋出錯誤 —— 用 E_USER_ERROR 取代 PHP 內(nèi)置的E_WARNING 警告。
新聞熱點
疑難解答
圖片精選