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 警告。

  • 相关阅读:
    QTextStream 居然接受FILE*这样的传统参数
    基于IOCP的高速文件传输代码
    tornado web框架
    Kaggle入门
    NET Core 介绍
    Wireshark
    设计和应用分布式调用跟踪系统
    Visual Studio Code和Docker开发asp.net core和mysql应用
    背单词
    多环境开发
  • 原文地址:https://www.cnblogs.com/dee0912/p/4510737.html
Copyright © 2011-2022 走看看