• 报错error_reporting


    /*
    1: php.ini里修改error_reporting 选项
    2: 可以在php页面里,用error_reporting()函数来修改
    */
    
    /*
    错误级别用2进制的值来表示的
    1111 1111 1111 111
    从左到右,每位上的1,代表一种错误级别
    */
    
    /*
    fatal error致命错误: 0000 0000 0000 001 开启
    warning 警告错误   : 0000 0000 0000 010 开启
    NOTICE 警告        : 0000 0000 0001 000 开启
    */
    
    /*
    error_reporting(11);
    echo $a+$b; // notice报出来
    echo 3/0;   // warning报出来
    echo dsafdsa(); // fatal报出来
    */
    
    // 不要报NOTICE了
    /*
    error_reporting(3);
    echo $a+$b; // notice不报了
    echo 3/0;   // warning报出来
    echo dsafdsa(); // fatal报出来
    */
    
    // 来点狠的,任何错误都不错
    /*
    error_reporting(0);
    echo dsafdsa(); // fatal不报
    echo $a+$b; // notice报出来
    echo 3/0;   // warning报出来
    */
    
    // 报所有错误,
    // 我们不必去通过2进制去算了
    /*
    系统为我们把各个级别的值,用系统常量代替了.
    E_ERROR 1
    E_WARNING 2
    E_NOTICE 8
    */
    
    // 报所有错误
    /*
    error_reporting(E_ALL);
    echo $a+$b; // notice报出来
    echo 3/0;   // warning报出来
    echo dsafdsa(); // fatal报出来
    */
    
    // 报除了notice之个的所有错误,即除了NOTICE,其他都报.
    
    error_reporting(E_ALL & ~E_NOTICE);
    
    echo $a+$b; // notice不报
    echo 3/0;   // warning报出来
    echo dsafdsa(); // fatal报出来

    // 在开发中,报错级别高一点
    // 在上线产品中,报错级别要低
    
    define('DEBUG',true);  // 在开发时,声明一个DEBUG模式
    
    if(defined('DEBUG')) { //检测到处于开发模式
        error_reporting(E_ALL);
    } else {
        error_reporting(0);
    }
    
    
    echo $a+$b; // notice不报
    echo 3/0;   // warning报出来
    echo dsafdsa(); // fatal报出来
  • 相关阅读:
    [luoguP1098] 字符串的展开(模拟)
    [luoguP1033] 自由落体(模拟?)
    [luoguP1011] 车站(递推)
    [luoguP1097] 统计数字(水)
    [luoguP2672] 推销员(贪心 + 树状数组 + 优先队列)
    [luoguP1043] 数字游戏(DP)
    [luoguP1058] 立体图(超级大模拟(¬︿̫̿¬☆))
    [luoguP1021] 邮票面值设计(DFS + dp)
    POJ 2184 Cow Exhibition (带负值的01背包)
    POJ 2392 Space Elevator (DP)
  • 原文地址:https://www.cnblogs.com/zy2012/p/2813413.html
Copyright © 2020-2023  润新知