Maison > Java > Javacommencer > qu'est-ce qu'une exception en Java

qu'est-ce qu'une exception en Java

爱喝马黛茶的安东尼
Libérer: 2019-11-12 15:39:21
original
4303 Les gens l'ont consulté

qu'est-ce qu'une exception en Java

Une exception en Java, également connue sous le nom d'exception, est un événement qui se produit lors de l'exécution d'un programme, qui interrompt le flux d'instructions normal du programme en cours d'exécution. Afin de gérer rapidement et efficacement les erreurs d’exécution dans le programme, des classes d’exception doivent être utilisées.

Introduction aux exceptions

Dans un programme, des erreurs peuvent survenir à partir de diverses situations auxquelles le programmeur ne s'attendait pas, ou de circonstances indépendantes de la volonté du programmeur, telles que des données incorrectes des utilisateurs. , en essayant d'ouvrir un fichier inexistant, etc. Afin de gérer rapidement et efficacement les erreurs d’exécution dans le programme, Java a spécifiquement introduit la classe d’exception.

Exemple 1

Afin de mieux comprendre ce qu'est une exception, regardons un programme Java très simple. L'exemple de code suivant permet à l'utilisateur de saisir un nombre entier compris entre 1 et 3 et provoque une erreur de saisie dans les autres cas.

package ch11;
import Java.util.Scanner;
public class TestO1
{
    public static void main(String[] args)
    {
        System.out.println("请输入您的选择:(1~3 之间的整数)");
        Scanner input=new Scanner(System.in);
        int num=input.nextInt();
        switch(num)
        {
            case 1:
                System.out.println("one");
                break;
            case 2:
                System.out.println("two");
                break;
            case 3:
                System.out.println("three");
                break;
            default:
                System.out.println("error");
                break;
        }
    }
}
Copier après la connexion

Normalement, l'utilisateur suivra les invites du système pour saisir un nombre compris entre 1 et 3. Cependant, si l'utilisateur ne saisit pas comme requis, par exemple s'il saisit la lettre « a », une exception se produira lors de l'exécution du programme et les résultats d'exécution sont les suivants.

请输入您的选择:(1~3 之间的整数)
a
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at text.text.main(text.java:11)
Copier après la connexion

Causes et principes d'utilisation des exceptions

Il existe trois raisons principales pour lesquelles une exception se produit en Java :

1 Java Une erreur interne s'est produite. , une exception générée par la machine virtuelle Java.

2. Exceptions causées par des erreurs dans le code du programme écrit, telles que des exceptions de pointeur nul, des exceptions hors limites de tableau, etc. Ce type d'exception est appelé exception non contrôlée et il est généralement nécessaire de gérer ces exceptions de manière centralisée dans certaines classes.

3. Exceptions générées manuellement via l'instruction throw Cette exception est appelée exception vérifiée et est généralement utilisée pour informer l'appelant de la méthode certaines informations nécessaires.

Java gère les exceptions grâce à une approche orientée objet. Lors de l'exécution d'une méthode, si une exception se produit, la méthode générera un objet représentant l'exception et le remettra au système d'exécution. Le système d'exécution recherchera le code correspondant pour gérer l'exception.

Nous appelons le processus de génération d'un objet d'exception et de sa soumission au système d'exécution comme la levée d'une exception. Le système d'exécution recherche dans la pile d'appels de la méthode jusqu'à ce qu'il trouve un objet capable de gérer ce type d'exception. Ce processus est appelé capture de l'exception.

Les exceptions Java obligent les utilisateurs à réfléchir à la robustesse et à la sécurité de leurs programmes. La gestion des exceptions ne doit pas être utilisée pour contrôler le flux normal du programme. Sa fonction principale est de capturer les exceptions qui se produisent lors de l'exécution du programme et de les gérer en conséquence. Lorsque vous écrivez du code pour gérer les exceptions qui peuvent survenir dans une certaine méthode, vous pouvez suivre les trois principes suivants :

1. Utilisez l'instruction try catch dans la déclaration de méthode actuelle pour intercepter les exceptions.

2. Lorsqu'une méthode est remplacée, la méthode qui la remplace doit lever la même exception ou une sous-classe de l'exception.

3. Si la classe parent génère plusieurs exceptions, la méthode de substitution doit lever un sous-ensemble de ces exceptions et ne peut pas lancer de nouvelles exceptions.

Types d'exception

Tous les types d'exception en Java sont des sous-classes de la classe intégrée java.lang.Throwable, c'est-à-dire que Throwable est au niveau supérieur de l'exception hiérarchie des classes. Il existe deux branches d'exception, Exception et Error, sous la classe Throwable, comme le montre la figure 1.

quest-ce quune exception en Java

Comme le montre la figure 2, la classe Throwable est la super classe de toutes les exceptions et erreurs. Il existe deux sous-classes Error et Exception ci-dessous pour représenter respectivement les erreurs et les exceptions. . La classe d'exception Exception est divisée en exception d'exécution et exception non-exécutable. Il existe une grande différence entre ces deux exceptions. Elles sont également appelées exception non vérifiée et exception vérifiée.

·La classe Exception est utilisée pour les exceptions qui peuvent survenir dans les programmes utilisateur. C'est également une classe utilisée pour créer des classes de types d'exception personnalisées.

·L'erreur définit les exceptions qui ne devraient pas être détectées par le programme dans des circonstances normales. Les exceptions de type Error sont utilisées par le runtime Java pour afficher les erreurs liées au système d'exécution lui-même. Le débordement de pile est un exemple de cette erreur.

·Ce chapitre ne traite pas de la gestion des exceptions de type Erreur, car il s'agit généralement d'erreurs catastrophiques et fatales qui échappent au contrôle du programme. Le reste de ce chapitre traite de la gestion des exceptions de type Exception.

Les exceptions d'exécution sont des exceptions de la classe RuntimeException et de ses sous-classes, telles que NullPointerException, IndexOutOfBoundsException, etc. Ces exceptions ne sont pas cochées et peuvent être capturées ou non traitées dans le programme. Ces exceptions sont généralement causées par des erreurs logiques du programme, et le programme doit essayer d'éviter l'apparition de telles exceptions d'un point de vue logique.

Les exceptions non-exécutables font référence à des exceptions autres que RuntimeException, et elles appartiennent toutes à la classe Exception et à ses sous-classes. Du point de vue de la syntaxe du programme, c'est une exception qui doit être gérée. Si elle n'est pas gérée, le programme ne sera pas compilé. Telles que IOException, ClassNotFoundException, etc. et les exceptions d'exception définies par l'utilisateur. Généralement, aucune exception vérifiée personnalisée n'est utilisée. Le tableau 1 répertorie certains types d'exceptions courants et leurs fonctions.

quest-ce quune exception en Java

Site Web chinois php, un grand nombre de Tutoriels d'introduction à Java gratuits, bienvenue pour apprendre en ligne !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal