|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2004-04-26 20:41 UTC] jaguargordon at free dot fr
[2004-10-13 02:05 UTC] php at bobsilva dot com
[2004-10-13 09:20 UTC] derick@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Dec 04 16:00:01 2025 UTC |
Description: ------------ The stack trace feature seams to mishandle static methods when a exception is raised. Reproduce code: --------------- <pre><?php class MyException extends Exception { function raise() { throw new MyException; } static function raiseStatic() { throw new MyException; } } function dontwork() { return false; } class Foo { function bar() { $v = @dontwork() or MyException::raise(); } function barStatic() { $v = @dontwork() or MyException::raiseStatic(); } } $foo = new Foo; try { $foo->bar(); } catch( Exception $e ) { echo $e; echo "\n\n"; } try { $foo->barStatic(); } catch( Exception $e ) { echo $e; echo "\n\n"; } ?></pre> Expected result: ---------------- exception 'MyException' in C:\www\static.php:6 Stack trace: #0 C:\www\static.php(19): MyException::raise() #1 C:\www\static.php(29): Foo->bar() #2 {main} exception 'MyException' in C:\www\static.php:10 Stack trace: #0 C:\www\static.php(23): MyException::raiseStatic() #1 C:\www\static.php(32): Foo->barStatic() #2 {main} Actual result: -------------- exception 'MyException' in C:\www\static.php:6 Stack trace: #0 C:\www\static.php(19): Foo->raise() #1 C:\www\static.php(29): Foo->bar() #2 {main} exception 'MyException' in C:\www\static.php:10 Stack trace: #0 C:\www\static.php(23): MyException::raiseStatic() #1 C:\www\static.php(32): Foo->barStatic() #2 {main}