加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

PHP set_error_handler包括的自界说BUG处理赏罚函数

发布时间:2021-05-22 21:08:07 所属栏目:编程 来源:互联网
导读:用户自界说函数的名目如下: error_handler(int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]]) 个中: 第一个参数 $e
用户自界说函数的名目如下:

error_handler(int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]])

个中:

第一个参数 $errno 暗示错误的级别,是一个 integer 范例;

第二个参数 $errstr 暗示错误的信息,是一个 string 范例;

第三个参数 $errfile 是一个可选参数,暗示产生错误的文件名,是一个 string 范例;

第四个参数 $errline 也是一个可选参数,暗示产生错误的行号,是一个 integer 范例;

第五个参数 $errcontext 同样是一个可选参数(在 PHP7.2.0 之后被弃用),暗示错误产生时勾当标记表的 array。也就是说 $errcontext 会包括错误触发处浸染域内全部变量的数组。用户的错误处理赏罚措施不该该修改错误上下文(context)。

留意:假如 set_error_handler() 函数返回 FALSE,尺度错误处理赏罚措施将会继承挪用。

2) $error_types 参数就像设置文件 php.ini 中 error_reporting 可以或许节制错误的表现一样,此参数可以或许用于屏障 $error_handler 的触发。假如没有该掩码,无论 $error_reporting 是怎样配置的,$error_handler 城市在每个错误产生时被挪用。

假如之前有界说过失误处理赏罚措施,则返回该措施名称;假如是内置的错误处理赏罚措施,则返回 NULL。假如指定了一个无效的回调函数,同样会返回 NULL。假如之前的错误处理赏罚措施是一个类的要领,此函数会返回一个带类和要领名的索引数组(indexed array)。

【示例】自界说一个错误处理赏罚函数,并行使它来处理赏罚措施中的错误。

<?php

function error_handler($errno, $errstr, $errfile, $errline ) {

echo "error number:".$errno."<br/>";

echo "error msg:".$errstr."<br/>";

echo "error file:".$errfile."<br/>";

echo "error line:".$errline."<br/>";

die('something error');

}

set_error_handler("error_handler");

strpos();

?>

运行功效如下:

error number:2 error msg:strpos() expects at least 2 parameters, 0 given error file:D:WWWindex.php error line:10 something error

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读