Maison >Java >javaDidacticiel >Quelles sont les exceptions courantes et leur gestion dans les programmes Java ?

Quelles sont les exceptions courantes et leur gestion dans les programmes Java ?

王林
王林avant
2023-06-03 22:16:421505parcourir

1. Exceptions courantes dans JDK

1. Diagramme récapitulatif des exceptions communes

2. Classification des exceptions en Java

La classe Throwable a deux sous-classes directes :

(1) Exception : se produit Le problème peut être attrapé

(2) Erreur : erreur système, généralement gérée par JVM

3 Catégorie d'exceptions capturées

(1) Vérifier l'exception : la classe d'exception dérivée d'Exception doit être capturée Ou déclarez-la à nouveau pour lancer

.

(2) Exception d'exécution : fait référence aux classes d'exception dérivées de RuntimeException. Ce type d'objet d'exception peut être lancé à tout moment à l'aide de l'instruction throw throw new ArithmeticException(...);

2 Raisons de l'exception

1.

2. Le fichier à ouvrir n'existe pas.

3. La communication réseau est une interruption de connexion

4. Débordement de mémoire JVM

3. Plusieurs exceptions courantes dans les programmes Java et les raisons de cette exception

1.

Une cause courante de cette exception est qu'il y a un pointeur nul dans le programme, c'est-à-dire qu'un objet non initialisé ou inexistant est appelé.

Ces codes apparaissent souvent lors de la création d'objets et des appels de tableau, par exemple lorsque l'objet n'est pas initialisé ou que le chemin de l'image est erroné. Le pointeur nul apparaissant dans le code du tableau

confond l'initialisation du tableau avec l'initialisation des éléments du tableau. L'initialisation du tableau consiste à allouer de l'espace au tableau, et l'initialisation des éléments du tableau consiste à attribuer des valeurs initiales aux éléments du tableau

2 java.lang.ClassNotFoundException (la classe spécifiée le fait). n'existe pas)

Cause : lorsque vous essayez de convertir des données de type chaîne en un type numérique spécifié, mais lorsque la chaîne ne répond pas aux exigences des données numériques, cette exception est levée. Lors de la conversion de données du type String en type numérique, par exemple, l'opération de conversion de « 123456 » en type numérique est réalisable. Cependant, si les données de type String contiennent

caractères non numériques, tels que 123*56, une exception se produira lors de la conversion en type numérique. Le système interceptera cette exception et la gérera

3. java.lang.ClassNotFoundExceptio (la classe spécifiée n'existe pas)

La racine de ce problème est que le nom et le chemin de la classe sont incorrects lorsque le programme. essaie de transmettre la chaîne Lors du chargement d'une certaine classe, une exception peut être provoquée. Par exemple :

Une exception se produit lors de l'appel de Class.forName(), ou de l'appel de finaSystemClass() de ClassLoad, ou LoadClass()

4, java.lang.IndexOutOfBoundsException (exception hors limites de l'indice de tableau)

Cause : Vue La valeur d'indice du tableau ou de la chaîne appelée dans le programme dépasse-t-elle la plage du tableau ? De manière générale, il n'est pas facile de commettre une telle erreur lors de l'appel explicite d'un tableau, mais il peut y avoir une erreur lors d'un appel implicite ? . Il y a un autre problème. Dans ce cas, la longueur du tableau définie dans le programme est déterminée par certaines méthodes spécifiques et n'est pas déclarée à l'avance, vous pouvez d'abord vérifier la longueur du tableau pour éviter cette exception. 5. java.lang. IllegalArgumentException (erreur de paramètre de méthode)

Par exemple, s'il y a trois valeurs dans la méthode g.setColor (int red, int green, int blue), cette exception se produira s'il y en a plus. que 255. Si cela existe dans le programme

Exception, vous devez vérifier si le transfert de paramètre ou la valeur du paramètre dans l'appel de méthode est erroné

6 java.lang.IllegalAccessException (aucun droit d'accès)

Lorsque le Le programme veut appeler une classe, mais la méthode actuelle est Cette exception se produit sans accès à la classe. Si Package est utilisé dans le programme, cette exception peut se produire. 7. java.lang.ArithmeticException (exception d'opération mathématique). Lorsque des opérations telles que la division par zéro se produisent dans des opérations mathématiques, quelque chose comme ceci se produira.

8, java.lang.ClassCastException (exception de conversion de type de données)

Lorsque vous essayez de forcer la conversion d'un objet, mais que l'objet n'est pas convertible ou ne peut pas être converti en une instance de sa sous-classe, cette exception se produit

.

9, java.lang.FileNotFoundException (exception de fichier introuvable)

Cette exception sera levée lorsque le programme ouvre un fichier inexistant en lecture et en écriture. Cette exception est levée par la déclaration du constructeur de FileInputStream, FileOutputStream,

RandomAccessFile, même si le fichier exploité existe, mais est inaccessible pour une raison quelconque, comme l'ouverture d'un fichier

avec uniquement des autorisations en lecture seule et l'écriture de données dessus. , La méthode de construction ci-dessus provoquera toujours des exceptions

10, java.lang.ArrayStoreException (exception de stockage de tableau)

Une exception sera levée lors de la tentative de stockage d'un objet d'un type incompatible dans un tableau Object[]

11, java.lang.NoSuchMethodException (la méthode n'existe pas d'exception)

Lorsque le programme tente de créer un objet par réflexion, accédez (modifiez ou lisez) une méthode, mais la méthode n'existe pas, une exception sera levée .

12. java.lang.EOFException (exception de fin de fichier)

Lorsque le programme rencontre la fin du fichier ou du flux pendant le processus d'entrée, une exception est levée. Cette exception est donc utilisée pour vérifier si la fin du fichier ou du flux est atteinte

13. java.lang.InstantiationException (exception d'instanciation)

est levée lors de la tentative de création d'une instance d'une classe via la méthode newInstance() de Class, mais le programme ne peut pas créer l'objet via le constructeur.

L'objet Class représente une classe abstraite, une interface, une classe de tableau, un type de base. La classe représentée par cette classe n'a pas de constructeur correspondant.

14.java.lang.InterruptedException (exception interrompue)

Lancée lorsqu'un thread est dans un état d'attente à long terme, de veille ou dans un autre état de pause, et que d'autres threads terminent le thread via la méthode d'interruption de Thread Cette exception. se produit.

15.java.lang.CloneNotSupportedException (l'exception de clonage n'est pas prise en charge)

Lorsque l'interface Cloneable n'est pas implémentée ou que la méthode clone n'est pas prise en charge, l'appel de sa méthode clone() lèvera cette exception

16. java.lang .OutOfMemoryException (erreur de mémoire insuffisante)

Cette erreur est générée lorsque la mémoire disponible n'est pas suffisante pour que la machine virtuelle Java puisse l'allouer à un objet

17, java.lang.NoClassDefFoundException (erreur de définition de classe non trouvé)

Lorsque Java Cette erreur est générée lorsque la machine virtuelle ou le chargeur de classe tente d'instancier une classe et ne trouve pas la définition de la classe

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer