Exception :
Les situations anormales qui surviennent lors du développement du programme sont des exceptions. Par exemple, le diviseur est 0, le paramètre est nul, la variable membre ou la méthode du paramètre est appelée et l'indice du tableau est hors limites.
Les exceptions sont divisées en deux types principaux :
(1) Exception : les programmeurs peuvent résoudre : un pointeur nul, un diviseur égal à 0, un indice de tableau hors limites.
(2) Erreur : quelque chose que les programmeurs ne peuvent pas résoudre : comme un débordement de mémoire.
Throwable est la classe parent de ces deux types
Classification des exceptions :
Classification selon que le compilateur vérifie ou non :
非检查性异常:也称之为运行时异常,即编译器在检查语法期间,不做异常检查。 检查性异常:也称之为编译时异常,此时,编译器会强制检查语法中的异常情况。如有异常,在编译期需要做异常处理。
Structure des exceptions :
RuntimeException: NullPointerException ArrayIndexOutOfBoundsException ClassCastException IllegalArgumentExcetion NumberFormatException IOException: EOFException FileNotFoundException
Gestion des exceptions :
(1) Lorsqu'une exception se produit, terminez le programme.
(2) Lorsqu'une exception se produit, nous utilisons un mécanisme de traitement pour gérer l'exception. Pas besoin de terminer le programme.
体验度:尽可能的选择异常处理机制。
Mécanisme de gestion des exceptions :
Idée de base :
Dans la zone du bloc de code où des exceptions peuvent se produire, essayez de vérifier si des informations d'exception se produisent, nous encapsulons ces informations dans. un objet d'un certain type d'exception, puis le capturer et le gérer.
Recommandations associées : "FAQ"
try{ 可能出现异常的代码块 /*如果有异常,jvm会将异常信息,封装成对象 将地址信息赋值给catch中的形参 */ }catch(Exception e){ 进行处理e }
Plusieurs blocs d'instructions catch :
Lorsque nous essayons de capturer des objets d'exception, nous voulons Lors de la gestion de différents objets d'exception séparément, plusieurs blocs d'instructions catch doivent être utilisés.
Explication : Lorsqu'un message d'exception se produit dans try, la partie suivante du bloc de code dans try ne sera pas exécutée. Entrez le bloc de code catch correspondant pour effectuer le traitement.
Dans le cas de plusieurs blocs d'instructions catch, l'ordre d'écriture des types d'exception gérés par catch :
Écrivez d'abord le type d'exception de la sous-classe, puis écrivez l'exception de la classe parent.
throw : mot-clé Throw, les exceptions qui se produisent dans cette méthode ne seront pas gérées par try-catch.
Au lieu de cela, il est renvoyé à l'appelant pour traitement. Le mot-clé throw doit être utilisé.
throws : déclare le mot clé exception, généralement utilisé dans la définition des méthodes pour notifier l'appelant.
(1)当throw的异常对象为检查性异常,方法上必须throws此异常类型。 (2)如果throw的异常对象为非检查性异常,方法上不必throws此异常类型。
Utilisation des lancers lors du remplacement de la méthode
Possible :
(1)可以相同。 (2)可以是部分。 (3)异常的子类型可行,也可以是多个子类型。
Pas possible :
(1)不同的异常类型,也不可以多声明不同类型的异常类型。 (2)异常的父类型不行。
enfin :
fournit une sortie unifiée pour le try-catch. Qu'une exception se produise ou non dans les blocs d'instructions try et catch, le bloc de code final sera exécuté.
est généralement utilisé pour gérer des opérations telles que la fermeture de certaines ressources :
Par exemple : la fermeture d'opérations lors de la lecture de fichiers, ou la suppression de fichiers temporaires
finalement le bloc d'instructions est facultatif.
Lorsqu'il y a un retour dans l'instruction, exécutez-la d'abord séquentiellement. S'il rencontre un retour, suspendez d'abord sa valeur de retour, puis exécutez le bloc de code enfin, puis exécutez return (quand il n'y a pas de retour dans enfin, le retour ne sera pas traité (la valeur a un impact)
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!