Quelle est la différence entre "throws Exception" et "throws IOException" [duplicate]

Oct 26 2020

Quelle est la différence entre throws Exceptionet throws IOException?

L'un ou l'autre fonctionne. Alors, quelle est la principale différence entre eux? Et si l'un d'eux n'existait pas?

Réponses

1 AlexShesterov Oct 26 2020 at 01:38

Cette question concerne vraiment les bases du mécanisme d'exception Java, mais, étrangement, je n'ai pas pu trouver de doublon exact sur StackOverflow ...


Ces déclarations indiquent au compilateur (et aux programmeurs) quel (s) type (s) d'exceptions peuvent être levées par une méthode.

throws Exception

signifie qu'une méthode peut lancer n'importe quel Exception(soit une Exceptioninstance directement, soit tout sous-type de Exception, y compris IOException).

throws IOException 

indique qu'une méthode peut lancer un IOException, mais pas, par exemple SQLException,.

C'est généralement une bonne pratique de déclarer des exceptions spécifiques , par exemple throws IOException, ParseException, au lieu de simplement écrire throws Exception.