Emmanuel Lecharny schrieb:
> Alex Karasulu wrote:
>> Why is it bad to have a checked exception in the throws clause of a
>> constructor?

Another approach could be (from 
http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html):

Best Practices for Designing the API

Having said all of this, let us now talk about how to design an API that throws 
exceptions properly.
1. When deciding on checked exceptions vs. unchecked exceptions, ask yourself, 
"What action can the client code take
when the exception occurs?"

If the client can take some alternate action to recover from the exception, 
make it a checked exception. If the client
cannot do anything useful, then make the exception unchecked. By useful, I mean 
taking steps to recover from the
exception and not just logging the exception. To summarize:

Client's reaction when exception happens | Exception type
-----------------------------------------+-------------------------------
Client code cannot do anything           | Make it an unchecked exception
                                         +
Client code will take some useful        | Make it a checked exception
recovery action based on information in  |
exception


Anyway I'm still +1 for IllegalArgumentException
Felix

Reply via email to