SI. Secondo Effective Java -
Mentre il linguaggio Java Specification non lo richiede, v'è una forte convenzione che gli errori sono riservati per l'uso da parte JVM per indicare carenze di risorse, fallimenti invarianti, o altre condizioni che lo rendono impossibile continuare l'esecuzione. Data l'accettazione quasi universale di questa convenzione, è meglio non implementare nuove sottoclassi di Errore. Pertanto, tutti i materiali pubblicitari non controllati implementati devono eseguire la sottoclasse di RuntimeException (direttamente o indirettamente).
Di seguito l'utilizzo d'eccezione incontrollato si raccomanda: -
- eccezioni Usa di runtime per indicare gli errori di programmazione.
- Se si ritiene che una condizione possa consentire il recupero, utilizzare un'eccezione controllata; in caso contrario, utilizzare un'eccezione di runtime. Se non è chiaro se è possibile il recupero, probabilmente stai meglio usando un'eccezione non controllata.
A proposito di documentare incontrollato eccezione -
Utilizzare tag Javadoc @throws di documentare ciascuna eccezione incontrollato che un metodo può lanciare, ma non utilizzare la parola chiave tiri per includere incontrollati eccezioni nel metodo dichiarazione.
State attenti che l'aggiunta di nuove eccezioni al codice esistente rompe sostanzialmente la compatibilità con le versioni precedenti del vostro API. Certo, se aggiungi solo RuntimeExceptions è ancora compatibile con i binari, ma personalmente lo considero ancora peggio: le persone non consapevoli ora si collegheranno alla nuova versione e improvvisamente avranno degli strani errori ... ugh. – Voo