Perché alcuni metodi di Java
generano eccezioni che sono sottoclassi di un'altra eccezione che lanciano anche loro?
Un esempio è org.apache.commons.httpclient. HttpClient
.executeMethod (metodo HttpMethod) . Genera HttpException
, che è un sottoclasse di IOException
, che genera anche. Sintatticamente, sarebbe stato corretto lanciare l'eccezione più generale (in questo caso, IO) e omettere l'HttpException dalla clausola throws
.
L'elencazione di eccezioni più specifiche nella clausola throws di un metodo accanto a una più generale porta a termine qualcosa?