gpt4 book ai didi

php - 将php错误传递到我的自定义错误处理程序中的默认php错误处理程序

转载 作者:行者123 更新时间:2023-12-03 07:40:25 25 4
gpt4 key购买 nike

我无法管理以下内容:我有一个错误处理程序,可以捕获所有E_WARNINGS,但我只想处理所有其他我想忽略的警告,并将它们传递给默认的PHP错误处理程序(该错误处理程序还将接收所有其他警告)错误类型,但E_WARNINGS除外)。

这有可能吗?看我简单的错误处理程序:

set_error_handler(function($errno, $errstr, $errfile, $errline, $errcontext) {
if($errfile != 'somefile_for_example.php') {
// I don't care about this error throw it somewhere else!
}

echo 'error in this file handles my custom error handler';
return true;
}, E_WARNING);

最佳答案

PHP文档说:http://php.net/manual/en/function.set-error-handler.php

It is important to remember that the standard PHP error handler is completely bypassed for the error types specified by error_types unless the callback function returns FALSE.



也许这应该工作:
$old_error_handler = set_error_handler(
function($errno, $errstr, $errfile, $errline, $errcontext) {

if($errfile != 'somefile_for_example.php') {
return false;
}

echo 'error in this file handles my custom error handler';
return true;
}, E_WARNING);

--

[编辑]另一个用户(Philipp)评论说set_error_handler返回旧的处理程序,但仅用于另一个自定义处理程序,而不是默认处理程序。

--

无论如何,在对错误处理程序进行编程时,必须始终特别注意编程错误,因为它们无法处理(也许首先要自己测试功能)。

关于php - 将php错误传递到我的自定义错误处理程序中的默认php错误处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24303202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com