ID:               28167
 User updated by:  jaguargordon at free dot fr
 Reported By:      jaguargordon at free dot fr
 Status:           Open
 Bug Type:         Class/Object related
 Operating System: Windows XP SP1
 PHP Version:      5CVS-2004-04-26 (dev)
 New Comment:

title ...


Previous Comments:
------------------------------------------------------------------------

[2004-04-26 20:37:27] jaguargordon at free dot fr

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}



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=28167&edit=1

Reply via email to