On the NetTuts.com site today they've posted the transcript of a panel discussion they had with several developers about exceptions and whether or not they should be used for flow control.
I’m pleased to release our first ever round table, where we place a group of developers in a locked room (not really), and ask them to debate one another on a single topic. In this first entry, we discuss exceptions and flow control.
The opinions vary among the group as to what exceptions should be used for (even outside of the flow control topic). Opinions shared are things like:
- Exceptions are situations in your code that you should never reach
- Errors cause Failures and are propagated, via Exceptions.
- So, essentially, exceptions are an “abstraction” purely to model the abnormality.
- Personally, I envision exceptions more as “objections.”
- Exceptions like this should be caught at some point and transformed into a friendly message to the user.
There's lots more than this in the full discussion so head over and read it all - there's definitely some good points made.