You are here: Re: [PHP] PHP5 Exception Handling « PHP « IT news, forums, messages
Re: [PHP] PHP5 Exception Handling

Posted by Jochem Maas on 10/19/77 11:07

Gerard Samuel wrote:
> Just bouncing a thought on you.
> I currently have a default exception handler setup.
> So far in the code, I throw an exception when something is wrong.
> i.e. Missing file, invalid argument, failed db connection etc...
> My thought was centering around if I still needed to use
> try/catch in the code, since I have a default exception handler.
> Normally, I would rethrow exceptions for it to bubble back up to the top,
> where its caught, and something useful done with the stack.
> So I removed all try/catch blocks, and its seems to be working as it
> should be.
> Just wondering if there may be an "gotchas" with this chain of thought.
> Or should I keep the try/catch blocks as it is???

I think you should leave them in. the idea behind the default exception handler is
to catch uncaught exceptions - uncaught exceptions should be the exception
rather than the rule.

also you don't have to rethrow exceptions, sometimes its very useful to just
catch (possibly ignore) and continue execution just past the catch block.


http://be.php.net/manual/en/function.set-exception-handler.php

<the gotcha>
tha manual states that execution stops after the exception handler in called,
which is fairly limiting.
</the gotcha>

Another way to look at it would be to specify that all 'pages'
are based on the following:

try {

// global include

// process some stuff

// do output

}
catch (Exception $e) {

// error - show 404 or something?

}

another thing about exceptions, you can be
very specific about catching, also the catches
can be 'stacked':

try {

}
catch (DBException $e) {

}
catch (UnknownObject $e) {

}
catch (Exception $e) {

}

this implies that the code uses user defined
Exception subclasses. i.e. you can write your own
Exception classes that you can throw around :-)

>
> Thanks
>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация