Sto lavorando a un sistema legacy che presenta un'eccezione personalizzata che viene utilizzata con gosh-frickity-ovunque. È stato ispirato dalla classe ServletException
, che diceva "bene ogni volta che hai un'eccezione nel tuo servlet, ti consigliamo di lanciare questo ServletException
".Creazione di un'eccezione controllata a RuntimeException
Con l'evolversi del sistema (oltre 10 anni) si è verificato un sistema più affidabile di rilevamento delle eccezioni a un livello superiore e non è più necessario avvolgere tutte le eccezioni in questa eccezione personalizzata. (Si potrebbe obiettare che non lo è mai stato, ma questa è un'altra storia: è un'app stabile, quindi tendo a non lamentarmi troppo !!), ma non li rifatteremo tutti in una volta, lentamente nel tempo.
Tuttavia, una cosa che renderebbe le cose più semplici andando avanti sarebbe se l'eccezione personalizzata fosse un'eccezione di runtime invece di un'eccezione controllata. In questo modo non avremmo bisogno di catturarlo esplicitamente ovunque, e il codice legacy che non è stato ancora rifattorizzato continuerà semplicemente a lanciare allo stesso modo in cui lanciare un'eccezione di puntatore nullo se si verifica uno.
La mia domanda è ... Quali sono gli effetti collaterali dell'osservazione di un'eccezione verificata e di un'eccezione di runtime?
Non riesco a pensare a nessuno, a parte gli avvertimenti per le verifiche e le dichiarazioni inutili, ma sarebbe bello ricevere informazioni da qualcuno che è stato in precedenza su questa strada.
Uso eccellente di "frode ovunque" – Gareth
È un'arma elegante di un'epoca più civilizzata. – corsiKa
Come te, non posso davvero pensare a nessun effetto collaterale a questo nell'immediato. A lungo termine, potrebbe essere necessario pensare a quale gestione deve accadere se questa eccezione viene propagata lungo tutta la catena dello stack. – ControlAltDel