This page contains an archived post to the Design Forum (formerly called the Flexible Java Forum) made prior to February 25, 2002.
If you wish to participate in discussions, please visit the new
follow up question
Posted by Sean Wu on 19 Feb 1999, 12:10 PM
First of all, let me just say I enjoy your articles very much!
As far as the above article about the exceptions, in principle,
I agree with you 100%. But I have a practical question.
Assuming this is a large application, especially, multi-level
inheritance hierarchies, where the exception catching net is
already woven. What mechanism or design approach (pattern if
you will) should one take to make sure that all checked
exceptions are getting caught? For example, if one needs to
change/modify a Throwable type at a late stage of the
development, how can he/she make sure that the new contract
get fulfilled by all the clients out there? Is there a simple
way to announce the last minute changes? Or should we really
discourage this kind of last minute changes even though it is
the right changes? Or should we foresee this kind of problem,
even at the start of the design, ask everyone throw general type
exception (which I know is against the principle) so that the
woven net won't be effected. Looking forward to your insight on
the issue. If I did not explain this well enough, please let me