News Feed

News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way
Exceptional Exceptions
November 16, 2012 @ 11:49:08

On today they have a new post from Remi Woler about "exceptional exceptions" - using exceptions to handle the flow of your application's execution a bit better.

Unlike errors, exceptions are designed to be handled by the calling code and will bubble up the execution chain until they are caught. Code in the current scope will stop executing as soon as an exception is thrown (so any lines after a throw statement won't be executed) and control is handed back to the first matching exception handler (either a catch block, configured exception handler, or language-provided exception handler). Only when an exception is caught will code execution continue from there. This article does not aim to teach you exceptions at a 101 level, but instead gives an opinion on how to use exceptions better

The post helps you determine the difference between an error and an exceptional event and gives examples of the sorts of things he considers exceptions useful for. He also talks about throwing different kinds of exceptions to make their context more meaningful, but notes that this has been known to cause trouble if used too much.

In summary, only throw exceptions when your code cannot complete the requested instruction with the given input, always throw a custom exception that actually tells the calling code what the situation is, and if you call other code then only catch the exceptions that you can and should handle.
0 comments voice your opinion now!
exception tutorial cases custom error catchall

blog comments powered by Disqus

Similar Posts

Lorna Mitchell's Blog: Using OAuth2 for Google APIs with PHP Maintaining your Server with Command Line PHP

Enrico Zimuel's Blog: PHP session sharing using Zend Server CE and MS SQL Server

DevShed: Coding Folders for a PHP Email Application

DevShed: Violating the Liskov Substitution Principle - PHP

Community Events

Don't see your event here?
Let us know!

laravel install release tool series community library podcast version package language symfony composer update introduction interview security framework voicesoftheelephpant opinion

All content copyright, 2014 :: - Powered by the Solar PHP Framework