Lors de la rédaction de programmes Java, les exceptions sont généralement invitées à être capturées, et certaines exceptions n'ont pas besoin d'être capturées de force. Les gens qui ont été transférés d'autres langues comme moi sont en effet un peu confus, donc je vais le réinterpréter dans ma compréhension.
La classe de base de l'exception est l'exception, et les sous-classes d'exception incluent RuntimeException et d'autres exceptions. Ces autres exceptions sont appelées exceptions vérifiées, et RuntimeException est appelée exceptions incontrôlées.
Il n'est pas facile de comprendre simplement en regardant le nom. Le compilateur sait que tous les types ou méthodes peuvent lancer des exceptions, et lorsque vous utilisez un certain type ou une certaine méthode, le compilateur vous invitera à attraper des exceptions connues. L'exception possible connue de ces compilateurs est l'exception vérifiée. Par exemple, lorsque vous fermez le flux de fichiers, l'iOException a déjà indiqué dans la méthode étroite qu'elle peut être lancée, et le compilateur vous invite que l'exception doit être capturée. L'exception RuntimeException n'est pas connue pendant la phase de compilation et ne peut être déterminée que pendant l'étape de course. Parce que ce diviseur peut être modifié au stade de course, aucune invite à capturer. Ces conceptions RuntimeEx sont des exceptions non contrôlées.
En bref, Java doit rendre le programme stable autant que possible. Cette explication devrait être plus claire.
Passons au point.
Certains amis ont peut-être rencontré cette situation lors du débogage du programme. Il n'y a que deux raisons: 1. Le thread où l'exception est située n'est pas le même fil que le fil que vous attrapez, 2. Le programme ne lance pas une exception mais une erreur. L'erreur, comme l'exception, hérite de Throwable, fait référence à une grave erreur qui ne devrait pas être capturée. Quand j'ai vu cette explication, j'étais tellement stupide que je ne comprenais pas pourquoi je ne devrais pas attraper l'erreur. Parce qu'une erreur se produit, le programme ne s'exécutera pas directement, il n'a donc pas de sens de l'attraper. Alors mon problème revient. En fait, cette hypothèse n'est pas vraie, car si l'erreur existe vraiment, vous aurez découvert des problèmes dans l'environnement de développement et il est impossible de les publier dans l'environnement officiel.
Hélas, j'ai fait un long chemin et j'ai fait une chose si stupide, alors ne discutez pas si l'erreur doit être capturée!
Je suis toujours bien informé et le but de l'écriture est d'obtenir les conseils de chacun. Si l'article vous aide, ce serait génial.