In me experience the more errors are thrown (instead of hidden and recovered from) the better - you will clear much quicker the bugs.
If we have this case as recoverable (and possibly others) then you would have to write a some of try/catchs... Instead you can avoid throwing the errors by writing the same amount of lines as checks/conditions. I just dont think this will save any effort form the developers side... in fact I think the opposite - in case you have misbehaving exception handler you may miss some errors. On Wed, Feb 22, 2012 at 11:26 PM, John Crenshaw <johncrens...@priacta.com>wrote: > > From: Ferenc Kovacs [mailto:tyr...@gmail.com] > > Sent: Wednesday, February 22, 2012 3:55 PM > > To: John Crenshaw > > Cc: Peter Lind; Larry Garfield; internals@lists.php.net > > Subject: Re: [PHP-DEV] Exceptions for method on non-object rather than > fatal (desired feature?) > > > > don't forget that we can't replace all fatals with exception, because by > design fatal errors are used when "errors that can not be recovered from, > such as a memory allocation problem". > I agree that we tend to raise fatals in some/many cases > where E_RECOVERABLE_ERROR or throwing exception would be more appropriate. > > > > -- > > Ferenc Kovács > > @Tyr43l - http://tyrael.hu > > I didn't forget about OOM and other truly fatal errors. I actually > considered mentioning it but decided that specific details should be > ignored unless/until people decided they wanted to discuss it at that level. > > While there are some truly fatal problems (such as OOM), most "fatal" > problems are really recoverable if you are allowed to unwind the stack to a > known stable point (which is exactly what you get when you catch an > exception). A good example would be E_PARSE; no amount of willingness to > continue can allow the parser to recover or allow the problem file to > execute, but if an exception were thrown and caught up the stack > (<cough>autoloaders</cough>), it would be possible to continue from there. > (null)->foo() and other critical logic failures fall into the same > category; it isn't safe to continue linearly, but you can unwind the stack. > Based on my experience truly fatal problems are horribly rare. Probably > around 99% of the "fatal" errors I see on a regular basis would have been > recoverable using exceptions. > > John Crenshaw > Priacta, Inc. > -- Vesselin Kenashkov Senior developer at azonmedia <http://azonmedia.com>