欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP中通过trigger_error触发PHP错误示例

程序员文章站 2022-06-22 20:32:25
php中通过trigger_error触发php错误示例 【错误抑制符@】 除了 php.ini 中 error_reporting 和 display_errors...

php中通过trigger_error触发php错误示例

【错误抑制符@】

除了 php.ini 中 error_reporting 和 display_errors 的设置、error_reporting() 函数、ini_set() 函数 外,还可以使用错误抑制符@ 屏蔽错误的输出。

@ 加在任何会产生错误的表达式之前。

【通过 trigger_error 触发 php 错误】

触发错误的功能不只限于 php 解析器,还可以通过 trigger_error() 函数触发错误,类似于异常中抛出的异常一样,抛出了一个错误,可以协助调试代码。

【例】

复制代码 代码如下:

<?php
$num1 = 1;
$num2 = '2';
if(!(is_numeric($num1) && is_numeric($num2))){
    //手动抛出通知级别的错误
    trigger_error('num1 和 num2 必须为合法数值', e_user_notice);
}else{
    echo $num1 + $num2;
}

echo '<br />程序继续向下执行';

输出:

复制代码 代码如下:

3
程序继续向下执行

而:
复制代码 代码如下:

<?php
$num1 = 1;
$num2 = '2a';
if(!(is_numeric($num1) && is_numeric($num2))){
    //手动抛出通知级别的错误
    trigger_error('num1 和 num2 必须为合法数值', e_user_notice);
}else{
    echo $num1 + $num2;
}

echo '<br />程序继续向下执行';

输出:

复制代码 代码如下:

( ! ) notice: num1 和 num2 必须为合法数值 in d:\practise\php\error\error1.php on line 6

程序继续向下执行

【其他】当数据库连接不上时等严重错误时,可以手动抛出错误 —— 用 e_user_error 取代 php 内置的e_warning 警告。