zoukankan      html  css  js  c++  java
  • PHP 错误与异常 笔记与总结(4)通过 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:practisephpErrorerror1.php on line 6
    程序继续向下执行

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

  • 相关阅读:
    进入用友通:提示"由于文件不可访问,内存磁盘空间不足无法打开ufsystem数据库"...
    HDOJ 1069 Monkey and Banana
    HDOJ 1087 Super Jumping! Jumping! Jumping!
    HDOJ 1209 Clock
    CodeForces Round #185 (Div. 2)A,B,C
    HDOJ 1465 不容易系列之一
    HDOJ 1114 PiggyBank
    HDOJ 1280 前m大的数
    HDOJ 1495 非常可乐
    HDOJ 1284 钱币兑换问题
  • 原文地址:https://www.cnblogs.com/dee0912/p/4510737.html
Copyright © 2011-2022 走看看