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?