[DOC-BUGS] Doc #64312 [Com]: set_error_handler always return handler if called inside an error_handler
[email protected] ("Steven268Danner at outlook dot com") Sat, 22 Jun 2024 07:12:50 +0000
| Newsgroups | php.doc.bugs |
|---|---|
| Message-ID | <[email protected]> |
Edit report at https://bugs.php.net/bug.php?id=64312&edit=1
ID: 64312
Comment by: Steven268Danner at outlook dot com
Reported by: php at maisqi dot com
Summary: set_error_handler always return handler if called
inside an error_handler
Status: Analyzed
Type: Documentation Problem
Package: *General Issues
Operating System: Win7 32 bits
PHP Version: 5.4.12
Block user comment: N
Private report: N
New Comment:
Thank you for sharing such an informative post with us. (https://github.com)(https://www.the-disneyhub.com)
Previous Comments:
------------------------------------------------------------------------
[2021-09-01 12:31:31] [email protected]
> I therefore suggest to convert this bug into a documentation issue.
ACK
------------------------------------------------------------------------
[2016-02-17 12:42:04] php at maisqi dot com
This is old, and I think it can be considered as acceptable behaviour. I therefore suggest to convert this bug into a documentation issue. I think the documentation should describe what happens when there's an error or warning inside a error handler, unless set_error_handler() inside it.
------------------------------------------------------------------------
[2013-02-28 02:41:18] [email protected]
before calling to user error handler, PHP will set empty to
EG(uesr_error_handler) in case of recursivly call to error handler if there is
some error in the error_handler function self.
IMO this is a trivial bug, if we want to to fix this, maybe add a new
EG(origin_user_error_handler)...
------------------------------------------------------------------------
[2013-02-27 15:45:43] php at maisqi dot com
Test script: http://maisqi.com/outros/bugs/php/64312
------------------------------------------------------------------------
[2013-02-27 15:43:04] php at maisqi dot com
Description:
------------
If you set an error handler when inside an error handling function, set_error_handler will always return NULL.
Test script:
---------------
<pre>
<?php
function first_handler () {
echo " first_handler\n";
echo ' Set to second handler: <strong>', gettype (set_error_handler ('second_handler')), "</strong>\n";
echo "\n\n", '$y = $o', "\n";
$y = $o;
}
function second_handler () {
echo " second_handler\n";
}
set_error_handler ('first_handler');
echo '$x = $y', "\n";
$x = $y;
echo ' Set to other handler: <strong>', gettype (set_error_handler (function(){})), "</strong>\n";
Expected result:
----------------
set_error_handler should return the name of the error handling function, which in this case would be the name of the running function.
Actual result:
--------------
It just returns null.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=64312&edit=1