#45767 [Opn->Bgs]: Uncommon order and chained exceptions

[email protected]
Newsgroups php.bugs
Message-ID <[email protected]>
 ID:               45767
 Updated by:       [email protected]
 Reported By:      david at grudl dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         Scripting Engine problem
 Operating System: *
 PHP Version:      5.3.0alpha1
 New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

You're assigning an object to a variable, then overwrite the variable
with another and then echoing the variable holding the second object...


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

[2008-08-10 08:39:32] david at grudl dot com

Reproduce code:

<?php

class LowException extends Exception
{
}

class HighException extends Exception
{
}

$e = new LowException("File not found.");

$e = new HighException("Missing configuration.", 0, $e);

echo $e; // $e is HighException instance
?>


Expected result:
----------------
exception 'HighException' with message 'Missing configuration.' in
test.php:13 
Stack trace:
#0 {main}

Previous exception (or "Caused by") 'LowException' with message 'File
not found.' in test.php:11
Stack trace:
#0 {main}


Actual result:
---------------
exception 'LowException' with message 'File not found.' in test.php:11
Stack trace:
#0 {main}

Next exception 'HighException' with message 'Missing configuration.' in
test.php:13
Stack trace:
#0 {main}


Description:
------------
The first (and most appealing) line of textual output begins with
"exception 'LowException' with message ...", but the printed exception
is 'HighException'. This order makes output less evident.

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

[2008-08-09 20:45:15] [email protected]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.

Your code handles an exception, throws a new one, which results in an
"Fatal error: Uncaught exception", neither what you expect nor your
actual code, please provide a proper reproduce case and explain the
issue.

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

[2008-08-08 17:15:27] david at grudl dot com

Sorry - Expected result is Actual and Actual is Expected.

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

[2008-08-08 17:13:33] david at grudl dot com

Description:
------------
Chained exceptions are printed in uncommon order (from inner to outer
exception). This makes me confused :-(

Reference:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Throwable.html#printStackTrace()

Reproduce code:
---------------
    try {
        throw new FileNotFoundException("File not found.");

    } catch (FileNotFoundException $e) {

        throw new ConfigException("Missing configuration.", 0, $e);
    }

echo $e; // note $e is ConfigException!


Expected result:
----------------
exception 'FileNotFoundException' with message 'File not found.' in
demo.php:8
Stack trace:
#0 demo.php(17): ...
#1 {main}

Next exception 'ConfigException' with message 'Missing configuration.'
in demo.php:21
Stack trace:
#0 demo.php(28): ....
#1 {main}

Actual result:
--------------
exception 'ConfigException' with message 'Missing configuration.' in
demo.php:21
Stack trace:
#0 demo.php(28): ....
#1 {main}

previous exception 'FileNotFoundException' with message 'File not
found.' in demo.php:8
Stack trace:
#0 demo.php(17): ...
#1 {main}



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


-- 
Edit this bug report at http://bugs.php.net/?id=45767&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.