Fonte: Medium Questo post ti aiuterà a capire meglio come gestire le eccezioni in modo efficace in Java. La gestione delle eccezioni Java può essere complessa. Può essere difficile determinare quali eccezioni Java gestire, quali eccezioni rilanciare e quali semplicemente ignorare. Tuttavia, esistono numerose linee guida utili che possono aiutarti efficacemente a gestire le eccezioni e creare nuove applicazioni. Facciamo la loro conoscenza.
- Fai attenzione a ciò che registri.
- Non ignorare le eccezioni generate.
- Utilizzare un gestore di eccezioni globale.
- Non chiudere le risorse manualmente.
- Lancialo presto e gestisci le eccezioni più tardi.
- Le eccezioni Java non devono essere registrate e riproposte.
- Esaminare le eccezioni soppresse.
- Nell'istruzione Throw dichiarare con precisione le eccezioni.
- Gestire prima l'eccezione più ovvia.
- Utilizzare la semantica moderna per la gestione delle eccezioni.
1. Fai attenzione a ciò che registri
Gli sviluppatori di software dovrebbero essere sempre consapevoli dei diritti dei loro clienti alla sicurezza e alla privacy.- Un programma Java può spostare dati su altri sistemi e un numero enorme di sviluppatori e amministratori può lavorarci (inclusa la correzione dei bug).
- Se nei file di registro vengono registrati dati sensibili, la tua azienda non sarà conforme ai requisiti di sicurezza e potresti perdere il lavoro.
2. Non ignorare le eccezioni generate
Non rilevare un'eccezione e poi ignorarla. Nascondere le eccezioni non è un buon modo per gestirle in Java. Come minimo, annotare il nome dell'eccezione e il messaggio associato. In questo modo è possibile trovare informazioni sul problema nella voce inserita. Il debug delle applicazioni Java a causa di eccezioni nascoste è incredibilmente difficile.3. Utilizzare un gestore di eccezioni globale
Durante l'esecuzione del programma ci saranno sempre alcune eccezioni che non erano state precedentemente catturate nel codice. Pertanto, aggiungi sempre un gestore di eccezioni globale per gestire le eccezioni non rilevate. Ciò non solo consentirà la registrazione e la gestione dell'eccezione, ma impedirà anche l'arresto anomalo dell'applicazione se viene generata un'eccezione in fase di runtime.4. Non chiudere le risorse manualmente
Un'altra raccomandazione importante quando si gestiscono le eccezioni Java è consentire alla JVM di chiamare il metodo close() sulle risorse da chiudere. Non provare a chiuderli da solo. Ciò può essere facilmente ottenuto inizializzando le risorse all'interno del modulo try-resources . Semantica:public class TryWithResourcesExample {
public static void main(String[] args) throws Exception {
try (Door door = new Door()) {
door.swing();
} catch (Exception e) { ..... }
} finally { .....}
}
}
Come puoi vedere, una volta completato il blocco try...catch, la JVM chiude la risorsa, eliminando la possibilità di perdite di risorse complesse e difficili da risolvere.
5. Lancia in anticipo e gestisci le eccezioni in seguito
Genera un'eccezione ogni volta che si verifica una condizione di eccezione nel tuo codice. Non attendere l'esecuzione di alcuna riga di codice prima di uscire dal metodo in cui ti trovi. Quando si rilevano le eccezioni, la funzione deve essere posizionata alla fine del metodo. Ciò riduce il numero di blocchi catch nei metodi, rendendo il codice più semplice da leggere e gestire.6. Le eccezioni Java non devono essere registrate e riproposte
Se si verifica un'eccezione, effettuare una delle seguenti operazioni:- Continua a lavorare con il tuo programma mentre registri l'eccezione.
- Genera nuovamente l'eccezione e consente un modo diverso di registrare i dati.
try {
Class.forName("com.min.Example");
} catch (ClassNotFoundException ex) {
log.warning("Class was not found.");
throw ex;
}
Ciò provoca la duplicazione del codice e i file di registro si intasano con voci duplicate, rendendo molto più difficile la diagnosi del codice.
GO TO FULL VERSION