The Benefits of Exceptions
Nothing demonstrates the benefits of exceptions more than the previous section. Any time you can improve upon a piece of code and reduce the overall number of lines, itâs a great change.
Another major boon from exceptions is that they âbubble up.â When an exception isnât caught in the method it is thrown, the exception moves up a level in the call stack. In other words, the method that called the method gets a chance to handle the exception. This process continues until either the exception is finally caught or youâre back in the top level. For example:
function createAddressBook( ) { $version = '1.0'; $element = 'address-book'; $dom = new DOMDocument($version); $ab = new DOMElement($element); $ab = $dom->appendChild($ab); return $dom; } try { $ab = createAddressBook( ); } catch (DOMException $e) { print $e; }
Since createAddressBook( )
doesnât catch the exceptions it generates, the
exceptions flow back up a level and can be caught in the
try/catch
block that wraps around the call to
createAddressBook( )
.
This behavior makes exceptions particularly well-suited for large-scale applications and frameworks. Without exceptions, youâre forced to check the return value of every method, even at the relatively high level of development that occurs when youâre combining full-blown objects.
However, at that point in your code, checking return values is not always useful, because thereâs very little you can do about a problem you discover. By the time ...
Get Upgrading to PHP 5 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.