如何在php中只显示trigger_error
我正在使用此代码
ini_set('display_errors', 1);
$divisor = 5/0;
//echo $divisor;
if ($divisor == 0) {
echo trigger_error("Cannot divide by zero", E_USER_ERROR);
}
现在这段代码的输出是
Warning: Division by zero
Fatal error: Cannot divide by zero
但是我想只显示我们自己的触发器错误,并且不想显示php错误我该怎么做呢。感谢
答案 0 :(得分:1)
调用error_reporting(0)
以禁用输出中的错误。如果已配置,它们仍将显示在error.log中。
如果需要,请检查http://www.php.net/manual/en/function.error-reporting.php以获取更多参数以显示不同级别的错误。
更新
error_reporting(0);
$divisor = 5/0;
//echo $divisor;
if ($divisor == 0) {
error_reporting(E_ALL);
echo trigger_error("Cannot divide by zero", E_USER_ERROR);
error_reporting(0);
}
答案 1 :(得分:1)
第一个警告Warning: Division by zero
发生在第$divisor = 5/0;
行
所以,用try catch环绕
try{
$divisor = 5/0;
}
catch(Exception $e)
{
echo "Cannot divide by zero".$e;
}
如果您不想使用try/catch
,请使用die
。如果您只想显示自己的错误消息,请使用
$divisor = 5/0 or die ("Cannot divide by zero");
如果您想使用trigger_error
,那么
$divisor = 5/0 or die trigger_error("Cannot divide by zero", E_USER_ERROR);