[nycphp-talk] PHP 5 Exception Expertise Needed
Adam Maccabee Trachtenberg
adam at trachtenberg.com
Sat Mar 19 11:49:13 EST 2005
On Sat, 19 Mar 2005, Joseph Crawford wrote:
> If an exceptions is thrown by PHP such as a fatal error or what not, i
> cannot use my Display method. Is there an easy way to rethrow an
> exception as a certain type? I would like to rethrow all exceptions
> as SvEx type so that i can use my display method to get it to show a
> nicely formatted error to go wtih the site's design, here is what i
> have so far
To catch all exceptions without wrapping code inside try/catch blocks, do this:
function my_exception_handler($e) {
throw new SvEx($e->getMessage(), $e->getCode());
}
set_exception_handler('my_exception_handler');
Although, it may be better to aggregate the original Exception inside
your custom one, as I believe the debugging information will be
disrupted. (Such as the line number and stack trace.)
However, the good practice fairy says it's better to really wrap stuff
inside try/catch, so you know exactly what you're doing and when
you're doing it. (I guess you could always just make a master
try/catch around the main control flow.)
-adam
PS: Upgrading to PHP5: Chapter 7. Error Handling and Debugging:
Setting a Custom Exception Handler
--
adam at trachtenberg.com | http://www.trachtenberg.com
author of o'reilly's "upgrading to php 5" and "php cookbook"
avoid the holiday rush, buy your copies today!
More information about the talk
mailing list
Automatic Email Organization without missing anything!