ID: 37224 User updated by: Jared dot Williams1 at ntlworld dot com Reported By: Jared dot Williams1 at ntlworld dot com Status: Open Bug Type: Scripting Engine problem Operating System: Win2000 PHP Version: 5.1.3RC2 New Comment:
But more investigation, and it appears that something alters the trace. As args for the [0] element of the trace a what would be expected. Eg: <?php function errorToExceptionHandler($severity, $message, $file, $line) { if (error_reporting() & $severity) throw new ErrorException($message, 0, $severity, $file, $line); } error_reporting(E_ALL & ~(E_NOTICE|E_USER_NOTICE)); set_error_handler('errorToExceptionHandler'); function divr($a, $b) { if ($b >= 1) return divr($a, $b >> 1); return $a / $b; } try { divr(1024, 2); } catch (ErrorException $e) { var_dump($e->getTrace()); } Generates.. array 0 => array 'file' => 'C:\Inetpub\Framework\www\bug.php' (length=32) 'line' => 17 'function' => 'errorToExceptionHandler' (length=23) 'args' => array 0 => 1024 1 => 0 1 => .... Previous Comments: ------------------------------------------------------------------------ [2006-04-27 15:18:17] Jared dot Williams1 at ntlworld dot com Description: ------------ The call stack trace includes the name of the function used to map PHP errors to exceptions. And as getTrace() is marked as final, cannot override to exclude this. Reproduce code: --------------- <?php function errorToExceptionHandler($severity, $message, $file, $line) { if (error_reporting() & $severity) throw new ErrorException($message, 0, $severity, $file, $line); } error_reporting(E_ALL & ~(E_NOTICE|E_USER_NOTICE)); set_error_handler('errorToExceptionHandler'); try { $a = 1 / 0; } catch (ErrorException $e) { var_dump($e->getTrace()); } catch (ErrorException $e) { var_dump($e->getTrace()); } Expected result: ---------------- array 0 => array 'file' => 'C:\Inetpub\Framework\www\bug.php' (length=32) 'line' => 14 Actual result: -------------- array 0 => array 'file' => 'C:\Inetpub\Framework\www\bug.php' (length=32) 'line' => 14 'function' => 'errorToExceptionHandler' (length=23) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=37224&edit=1