- Handling Errors
- Handling External Errors
- Exceptions
- When to Use Exceptions
- Further Reading
When to Use Exceptions
There are a number of views regarding when and how exceptions should be used. Some programmers feel that exceptions should represent fatal or should-be-potentially-fatal errors only. Other programmers use exceptions as basic components of logical flow control. The Python programming language is a good representative of this latter style: In Python exceptions are commonly used for basic flow control.
This is largely a matter of style, and I am inherently distrustful of any language that tries to mandate a specific style. In deciding where and when to use exceptions in your own code, you might reflect on this list of caveats:
Exceptions are a flow-control syntax, just like if{}, else{}, while{}, and foreach{}.
Using exceptions for nonlocal flow control (for example, effectively long-jumping out of a block of code into another scope) results in non-intuitive code.
Exceptions are bit slower than traditional flow-control syntaxes.
Exceptions expose the possibility of leaking memory.