In realtà quello che sto facendo nella mia base di codice è la duplicazione di eccezioni java già controllate come MalformedURLException.class
mantenendo lo stesso nome di eccezione mentre ereditate da RuntimeException.class. Sinceramente, non ho trovato un modo migliore.
L'ho trovato davvero pessimo, perché ora ho quasi 8 eccezioni duplicate solo perché, nel mio caso, non posso recuperare da questi tipi di eccezioni e non voglio buttarle da ogni livello finché non raggiungono il livello più alto in quanto renderebbe la manutenibilità del codice un incubo.
Francamente, penso che oracle / sun dovrebbe aver pensato a questo caso di riutilizzabilità e rendere il tipo di eccezioni flessibile e scelto al momento del lancio, qualcosa di simile al seguente invece di affidarsi al genitore dell'eccezione:
throwChecked new MalformedURLException();
Sia IMO RuntimeException.class che Exception.class dovrebbero essere deselezionate e spetta allo sviluppatore scegliere quale sarà il suo lancio.
- quindi la mia domanda mi è sfuggita nel mio caso e nelle mie analisi?
- esiste un approccio migliore senza duplicare?
Cordiali saluti!
Modifica
Nota anche duplicando queste eccezioni, mi sono trovato obbligato a coprire tutti i rami delle mie classi quindi coprire tutte le eccezioni create anche se voglio avere una buona copertura.