码迷,mamicode.com
首页 > Web开发 > 详细

[PHP] 报错和“@” - 工作

时间:2019-12-15 01:04:27      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:report   tps   bsp   repo   ret   pos   --   级别   use   

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

  • 在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;

	///
	
}

[PHP] 报错和“@” - 工作

标签:report   tps   bsp   repo   ret   pos   --   级别   use   

原文地址:https://www.cnblogs.com/lijianming180/p/12041526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!