Maison >Java >javaDidacticiel >Quels sont les types d'exceptions en Java ?
Les erreurs sont le fléau des utilisateurs et des programmeurs. Les développeurs ne veulent évidemment pas que leurs programmes tombent à chaque tour, et les utilisateurs sont maintenant tellement habitués à avoir des bugs dans leurs programmes qu'ils acceptent à contrecœur de payer le prix d'un logiciel qui est presque certain d'avoir au moins un bug.
Java est conçu pour donner aux programmeurs la possibilité de concevoir une application sans bug. Lorsqu'une application interagit avec des ressources ou des utilisateurs, le programmeur peut être conscient des exceptions pouvant être gérées. Malheureusement, il existe des exceptions sur lesquelles le programmeur n'a aucun contrôle ou qu'il ignore simplement. En bref, toutes les exceptions ne sont pas identiques, les programmeurs doivent donc en considérer plusieurs types.
Les exceptions sont des événements qui empêchent un programme de fonctionner dans son exécution prévue. Il existe trois types d'exceptions : les exceptions vérifiées, les erreurs et les exceptions d'exécution.
L'exception vérifiée
Une exception vérifiée est une exception qu'une application Java devrait être capable de gérer. Par exemple, si l'application lit les données d'un fichier, elle devrait être capable de gérer FileNotFoundException. Après tout, rien ne garantit que le fichier attendu apparaîtra là où il est censé se trouver. Tout peut arriver sur le système de fichiers et l'application n'en sait rien.
Regardons de plus près cet exemple. Supposons que nous utilisions la classe FileReader pour lire des fichiers de caractères. Si vous jetez un œil à la définition du constructeur FileReader dans l'API Java, vous trouverez sa signature de méthode :
public FileReader(String fileName) throws FileNotFoundException
Comme vous pouvez le voir, le constructeur indique explicitement que le constructeur FileReader peut lancer FileNotFoundException. Cela est logique puisque la chaîne du nom de fichier est susceptible d'être erronée de temps en temps. Regardez le code suivant :
public static void main(String[] args){ FileReader fileInput = null; //打开输入文件 fileInput = new FileReader("Untitled.txt"); }
Syntaxiquement, ces instructions sont correctes, mais ce code ne sera jamais compilé. Le compilateur sait que le constructeur FileReader peut lever FileNotFoundException, et c'est au code appelant de gérer cette exception. Il existe deux options - Premièrement, nous pouvons transmettre des exceptions en spécifiant une clause throw :
public static void main(String[] args) throws FileNotFoundException{ FileReader fileInput = null; //打开输入文件 fileInput = new FileReader("Untitled.txt"); }
Ou nous pouvons gérer les exceptions :
public static void main(String[] args){ FileReader fileInput = null; try { //打开输入文件 fileInput = new FileReader("Untitled.txt"); } catch(FileNotFoundException ex) { //告诉用户去找文件 } }
Les applications Java bien écrites devraient être capables de gérer les exceptions vérifiées.
Erreurs
Le deuxième type d'exception est appelé une erreur. Lorsqu'une exception se produit, la JVM crée un objet d'exception. Ces objets sont dérivés de classes jetables. La classe jetable a deux sous-classes principales : Error et Exception. La classe Error représente les exceptions qui sont peu susceptibles d'être gérées par l'application.
Ces exceptions sont considérées comme rares. Par exemple, une JVM peut manquer de ressources parce que le matériel ne peut pas gérer tous les processus qu'il doit gérer. Les applications peuvent détecter les erreurs et en informer l'utilisateur, mais elles doivent généralement s'arrêter jusqu'à ce que le problème sous-jacent soit résolu.
Exceptions d'exécution
Les exceptions d'exécution se produisent simplement parce que le programmeur a commis une erreur. Vous avez écrit le code et tout ira bien pour le compilateur. Lorsque vous exécuterez le code, il plantera car il a tenté d'accéder à un élément du tableau qui n'existe pas ou une erreur logique a provoqué l'appel d'une méthode avec une valeur nulle. valeur. Ou n'importe quel nombre d'erreurs qu'un programmeur pourrait commettre. Mais ce n'est pas grave, nous trouvons ces exceptions grâce à des tests exhaustifs, n'est-ce pas ?
Les erreurs et les exceptions d'exécution entrent dans la catégorie des exceptions non vérifiées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!