Maison > Problème commun > le corps du texte

Que faire si l'interface API est anormale

爱喝马黛茶的安东尼
Libérer: 2019-08-21 09:45:05
original
21888 Les gens l'ont consulté

Que faire si l'interface API est anormale

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 :

非检查性异常:也称之为运行时异常,即编译器在检查语法期间,不做异常检查。
检查性异常:也称之为编译时异常,此时,编译器会强制检查语法中的异常情况。如有异常,在编译期需要做异常处理。
Copier après la connexion

Structure des exceptions :

RuntimeException:
         NullPointerException
         ArrayIndexOutOfBoundsException
         ClassCastException
         IllegalArgumentExcetion
         NumberFormatException
IOException:
         EOFException
         FileNotFoundException
Copier après la connexion

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.

体验度:尽可能的选择异常处理机制。
Copier après la connexion

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
 }
Copier après la connexion

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此异常类型。
Copier après la connexion

Utilisation des lancers lors du remplacement de la méthode

Possible :

(1)可以相同。
(2)可以是部分。
(3)异常的子类型可行,也可以是多个子类型。
Copier après la connexion

Pas possible :

(1)不同的异常类型,也不可以多声明不同类型的异常类型。
(2)异常的父类型不行。
Copier après la connexion

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!

Étiquettes associées:
api
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