En Java, existe-t-il un moyen d'obtenir (attraper) tout exceptions
au lieu d'attraper l'exception individuellement?
java
exception
file
exception-handling
Johanna
la source
la source
Réponses:
Si vous le souhaitez, vous pouvez ajouter des clauses throws à vos méthodes. Ensuite, vous n'avez pas à attraper les méthodes vérifiées tout de suite. De cette façon, vous pouvez attraper le
exceptions
plus tard (peut-être en même temps que l'autreexceptions
).Le code ressemble à ceci:
Ensuite, vous pourrez vous en occuper plus tard
exceptions
si vous ne voulez pas les traiter de cette manière.Pour attraper toutes les exceptions, un bloc de code peut lancer, vous pouvez le faire: (Cela détectera également que
Exceptions
vous avez écrit vous-même)La raison pour laquelle cela fonctionne est que
Exception
c'est la classe de base pour toutes les exceptions. Ainsi, toute exception qui peut être levée est unException
(«E» majuscule).Si vous souhaitez d'abord gérer vos propres exceptions, ajoutez simplement un
catch
bloc avant l'exception générique.la source
Bien que je convienne que ce n'est pas un bon style d'attraper une exception brute, il existe des moyens de gérer les exceptions qui fournissent une journalisation supérieure et la capacité de gérer l'inattendu. Étant donné que vous êtes dans un état exceptionnel, vous êtes probablement plus intéressé par l'obtention de bonnes informations que par le temps de réponse, donc l'instance de performance ne devrait pas être un grand succès.
Cependant, cela ne prend pas en compte le fait que IO peut également générer des erreurs. Les erreurs ne sont pas des exceptions. Les erreurs sont sous une hiérarchie d'héritage différente de celle des exceptions, bien que les deux partagent la classe de base Throwable. Étant donné que IO peut lancer des erreurs, vous voudrez peut-être aller jusqu'à attraper Throwable
la source
Attrapez l'exception de base «Exception»
la source
Attraper Exception est une mauvaise pratique - c'est tout simplement trop large et vous risquez de manquer quelque chose comme une NullPointerException dans votre propre code.
Pour la plupart des opérations sur les fichiers, IOException est l'exception racine. Mieux vaut attraper ça, à la place.
la source
Oui il y a.
la source
Vous pouvez intercepter plusieurs exceptions dans un seul bloc catch.
la source
Voulez-vous dire attraper un
Exception
de n'importe quel type qui est lancé, par opposition à seulement des exceptions spécifiques?Si c'est le cas:
la source