Now let us understand how Exceptions work. The code shown below is a simple program that shows how to use Exceptions. Listen to the audio below as you view the code.
Now let us compare how error handling is done with and without Exceptions. The PSEUDOCODE shown below has two methods: the first one is called aFunctionWithoutExceptions(), and the second one is called aFunctionWithExceptions(). As their names suggest the first method does error handling, the old way, by inspecting return values, and the second method does error handling with Exceptions.
When inspecting return values:
- We have to check for the return value after every function call. This increases code and also reduces readability of the code .
- Error handling code is interspersed with program code.
- Checking for the meaning of an error code will usually require long if...else statements.
When using Exceptions:
- We do not have to inspect the return value after every method call. We just invoke the method and if an Exception is thrown, control will automatically transfer to the appropriate Exception handling code.
- Error handling code is in a distinct region (the catch block) and is not interspersed with program code.
- We do not need to specifically check what an error code means. Since we throw unique Exceptions for unique problems, control will automatically be trasnferred to the appropriate catch block.
Notes: This text was originally posted on my earlier blog at http://www.adaptivelearningonline.net