ID:               33612
 User updated by:  james at academicsuperstore dot com
 Reported By:      james at academicsuperstore dot com
 Status:           Bogus
 Bug Type:         Documentation problem
 Operating System: Debian -stable
 PHP Version:      5.0.4
 New Comment:

That's the point though.  I want a "compile" time error so to speak. 
Any uncaught throws even if not hit at run time should error out.  In
java/c++ it is not valid to have code which throws an exception without
a matching catch.  Or for that matter can the ZendCodeAnalyzer be
updated with this behavior?


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

[2005-07-08 09:05:10] [EMAIL PROTECTED]

Erm, you have an if(0) before your throw... of course the throw will
not even be done now...

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

[2005-07-08 00:30:16] james at academicsuperstore dot com

I re-read the documentation.  This is non-obvious based on the docs. 
In fact it is exactly the opposite behavior from java and c++ which is
why I assume it is a bug.  If the programmer fails to catch exceptions
and a corner case doesn't come up until a site is deployed there is
nothing the programmer can do.  In the event that php always informed
you via a notice or some other method that you forgot to catch an
exception then this issue would not come up.

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

[2005-07-08 00:16:30] [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



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

[2005-07-08 00:01:04] james at academicsuperstore dot com

Description:
------------
In the event at run time an uncaught exception is found then there is a
fatal error.  However, in the event that there are uncaught exceptions
that are not executed such as in the reproduce code there is not even a
notice.

Reproduce code:
---------------
<?                                                                     
        
   error_reporting(2047 | E_STRICT);                                   
        
                                                                       
        
                                                                       
        
   if (0)                                                              
        
      throw new Exception("foo");                                      
        
?>

Expected result:
----------------
Fatal error: Uncaught exception 'Exception' with message 'foo' in
/home/james/html/live_web/test.php:5 Stack trace: #0

Actual result:
--------------
No messages at all.


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


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

Reply via email to