Source : Medium Cet article vous aidera à mieux comprendre comment gérer efficacement les exceptions en Java. La gestion des exceptions Java peut être difficile. Il peut être difficile de déterminer quelles exceptions Java gérer, quelles exceptions renvoyer et lesquelles ignorer simplement. Cependant, il existe un certain nombre de directives utiles qui peuvent vous aider efficacement à gérer les exceptions et à créer de nouvelles applications. Faisons connaissance avec eux.
- Faites attention à ce que vous enregistrez.
- N'ignorez pas les exceptions levées.
- Utilisez un gestionnaire d'exceptions global.
- Ne fermez pas les ressources manuellement.
- Lancez tôt et gérez les exceptions plus tard.
- Les exceptions Java ne doivent pas être enregistrées ni renvoyées.
- Examinez les exceptions supprimées.
- Dans l'instruction throw, déclarez les exceptions avec précision.
- Gérez d’abord l’exception la plus évidente.
- Utilisez une sémantique moderne de gestion des exceptions.
1. Faites attention à ce que vous enregistrez
Les développeurs de logiciels doivent toujours être conscients des droits de leurs clients en matière de sécurité et de confidentialité.- Un programme Java peut déplacer des données vers d'autres systèmes, et un grand nombre de développeurs et d'administrateurs peuvent travailler avec lui (y compris en corrigeant des bogues).
- Si des données sensibles sont enregistrées dans les fichiers journaux, votre entreprise ne sera pas conforme aux exigences de sécurité et vous risquez de perdre votre emploi.
2. N'ignorez pas les exceptions levées
N'attrapez pas une exception et ignorez-la. Masquer les exceptions n'est pas un bon moyen de les gérer en Java. Au minimum, notez le nom de l'exception et le message associé. De cette façon, des informations sur le problème peuvent être trouvées dans votre entrée. Le débogage des applications Java en raison d'exceptions cachées est incroyablement difficile.3. Utilisez un gestionnaire d'exceptions global
Lors de l'exécution du programme, il y aura toujours des exceptions qui n'étaient pas détectées auparavant dans votre code. Par conséquent, ajoutez toujours un gestionnaire d’exceptions global pour gérer les exceptions non interceptées. Cela permettra non seulement à l'exception d'être enregistrée et gérée, mais empêchera également l'application de planter si une exception est levée au moment de l'exécution.4. Ne fermez pas les ressources manuellement
Une autre recommandation importante lors de la gestion des exceptions Java est de permettre à la JVM d'appeler la méthode close() sur les ressources en cours de fermeture. N'essayez pas de les fermer vous-même. Ceci peut être facilement réalisé en initialisant les ressources à l'intérieur du module try-resources . Sémantique:public class TryWithResourcesExample {
public static void main(String[] args) throws Exception {
try (Door door = new Door()) {
door.swing();
} catch (Exception e) { ..... }
} finally { .....}
}
}
Comme vous pouvez le constater, une fois le bloc try...catch terminé, la JVM ferme la ressource pour vous, éliminant ainsi la possibilité de fuites de ressources complexes et difficiles à corriger.
5. Lancez tôt et gérez les exceptions plus tard
Lancez une exception chaque fois qu'une condition d'exception se produit dans votre code. N'attendez pas qu'une ligne de code s'exécute avant de quitter la méthode dans laquelle vous vous trouvez. Lors de la détection d'exceptions, la fonction doit être placée à la fin de la méthode. Cela réduit le nombre de blocs catch dans vos méthodes, rendant votre code plus facile à lire et à maintenir.6. Les exceptions Java ne doivent pas être enregistrées ni renvoyées
Si une exception se produit, effectuez l'une des opérations suivantes :- Continuez à travailler avec votre programme pendant que vous enregistrez l'exception.
- Lancez à nouveau l'exception et autorisez une manière différente d'enregistrer les données.
try {
Class.forName("com.min.Example");
} catch (ClassNotFoundException ex) {
log.warning("Class was not found.");
throw ex;
}
Cela entraîne une duplication de code et des fichiers journaux obstrués par des entrées en double, ce qui rend beaucoup plus difficile le diagnostic du code.
GO TO FULL VERSION