ID:               45767
 User updated by:  david at grudl dot com
 Reported By:      david at grudl dot com
 Status:           Open
 Bug Type:         Feature/Change Request
 Operating System: *
 PHP Version:      5.3.0alpha1
 New Comment:

This is not only simple wording change, but order change. 

$e is instance of HighException (!)
$e has any inner/previous exception

echo $e prints:

exception 'LowException' with message ...
blah, blah, blah
...
...

HighException prints LowException at first line - it is not expectable.
Stack traces are printed in reverse order, because it is preferable.
Exceptions should be printed in reverse order too.


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

[2008-08-11 15:18:33] [EMAIL PROTECTED]

At the end it is just a wording problem. "Next exception" should be
"Previous exception" (which makes sense, than the method is called
getPrevious()). Simple wording change, accepting it.

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

[2008-08-11 15:03:57] david at grudl dot com

This is not bug, of course, this is feature request.

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

[2008-08-10 09:54:40] [EMAIL PROTECTED]

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...

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

[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.

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/45767

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

Reply via email to