zoukankan      html  css  js  c++  java
  • [PHP] 报错和“@”

    以下几点关于报错和@的关系理解

    • 在PHP中使用@加在某个语句前面,可以抑制错误在脚本的执行过程中输出到IO;

    • 如果在某个语句上使用了@,则可以将语句内的各种嵌套的脚本可能存在的报错都会被抑制住;

    • 如果脚本启用set_error_handler并且不处理使用@的报错, 则可以通过error_reporting获取当前的报错级别对@进行过滤处理(添加了@后的error_reporting为0)

    • 如果脚本启用set_error_handler语句进行错误重定向,则不管是否有使用@错误都会进入handler进入处理;

    <?php
    ///
    set_error_handler(array('my_error_handler'), E_ALL);
    
    /**
     * 自定义错误处理
     * // 被“@”抑制后语句在出错的情况下不进入这方法
     *
     大专栏  [PHP] 报错和“@” - 工作 * @param int $errNum 错误代码
     * @param string $errStr 错误内容
     * @param string $errFile 错误文件
     * @param int $errLine 错误文件行号
     */
    function my_error_handler($errNum, $errStr, $errFile, $errLine)
    {
    	///
    	if (! (error_reporting() & $errNum)
    		|| in_array($errNum, array(E_NOTICE, E_STRICT, E_USER_NOTICE))
    	)
    		return;
    
    	///
    	
    }
    
    
  • 相关阅读:
    ASCII&Base64
    CentOS自动同步时间
    Java的HashMap
    Java线程同步操作
    Nginx基本配置与应用
    vc中调用Com组件的方法详解
    VC++ try catch (转)
    oracle中exp,imp的使用详解
    jdbc oracle 连接字符串
    标准的开源实现
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12041526.html
Copyright © 2011-2022 走看看