Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Essayez Catch en Java :exemple de gestion des exceptions

Qu'est-ce qu'une exception en Java ?

Exception en Java est un événement qui interrompt l'exécution des instructions du programme et perturbe le déroulement normal de l'exécution du programme. Il s'agit d'un objet qui encapsule une information d'événement d'erreur qui s'est produite dans une méthode et qui est transmise au système d'exécution. En Java, les exceptions sont principalement utilisées pour indiquer différents types de conditions d'erreur.

Dans ce tutoriel, vous apprendrez-

Il existe deux types d'erreurs :

  1. Erreurs de temps de compilation
  2. Erreurs d'exécution

Les erreurs de compilation peuvent à nouveau être classées en deux types :

Exemple d'erreurs de syntaxe :

Au lieu de déclarer int a; vous l'avez déclaré par erreur comme in a; pour lequel le compilateur renverra une erreur.

Exemple :Vous avez déclaré une variable int a; et après quelques lignes de code, vous déclarez à nouveau un entier sous la forme int a; . Toutes ces erreurs sont mises en évidence lorsque vous compilez le code.

Exemple d'erreurs d'exécution

Une erreur d'exécution est appelée Exceptions Erreur. C'est tout événement qui interrompt le déroulement normal de l'exécution du programme.

Exemples d'exceptions :exception arithmétique, exception Nullpointer, exception Diviser par zéro, etc.

Les exceptions en Java sont quelque chose qui échappe au contrôle des développeurs.

Cliquez ici si la vidéo n'est pas accessible

Pourquoi avons-nous besoin d'une exception ?

Supposons que vous ayez codé un programme pour accéder au serveur. Tout a bien fonctionné pendant que vous développiez le code.

Pendant le cycle de production réel, le serveur est en panne. Lorsque votre programme a tenté d'y accéder, une exception est levée.

Comment gérer les exceptions

Jusqu'à présent, nous avons vu que l'exception échappe au contrôle du développeur. Mais blâmer l'échec de votre code sur des problèmes environnementaux n'est pas une solution. Vous avez besoin d'une programmation robuste, qui prend en charge les situations exceptionnelles. Un tel code est appelé Exception Handler.

Dans notre exemple, une bonne gestion des exceptions consisterait, lorsque le serveur est en panne, à se connecter au serveur de sauvegarde.

Pour implémenter cela, entrez votre code pour vous connecter au serveur (en utilisant les conditions traditionnelles if et else).

Vous vérifierez si le serveur est en panne. Si oui, écrivez le code pour vous connecter au serveur de sauvegarde.

Une telle organisation du code, en utilisant les boucles "if" et "else", n'est pas efficace lorsque votre code a plusieurs exceptions Java à gérer.

class connect{
	if(Server Up){
	 // code to connect to server
	}
	else{
	 // code to connect to BACKUP server
	}
}

Essayez le bloc de capture

Java fournit une gestion exceptionnelle intégrée.

  1. Le code normal va dans un TRY bloquer.
  2. Le code de gestion des exceptions va dans le CATCH bloquer

Dans notre exemple, le bloc TRY contiendra le code pour se connecter au serveur. Le bloc CATCH contiendra le code pour se connecter au serveur de sauvegarde.

Si le serveur est opérationnel, le code du bloc CATCH sera ignoré. Si le serveur est en panne, une exception est levée et le code du bloc catch sera exécuté.

Voici donc comment l'exception est gérée en Java.

Syntaxe pour utiliser try &catch

try{
    statement(s)
}
catch (exceptiontype name){
	statement(s)
}

Exemple

Étape 1) Copiez le code suivant dans un éditeur

class JavaException {
   public static void main(String args[]){
      int d = 0;
      int n = 20;
      int fraction = n/d;
     System.out.println("End Of Main");
   }
}

Étape 2) Enregistrez le fichier et compilez le code. Exécutez le programme à l'aide de la commande java JavaException

Étape 3) Une exception arithmétique - la division par zéro est illustrée ci-dessous pour la ligne n ° 5 et la ligne n ° 6 n'est jamais exécutée

Étape 4) Voyons maintenant comment try et catch nous aideront à gérer cette exception. Nous placerons l'exception provoquant la ligne de code dans un try bloc, suivi d'un catch bloquer. Copiez le code suivant dans l'éditeur.

class JavaException {
 public static void main(String args[]) {
  int d = 0;
  int n = 20;
  try {
   int fraction = n / d;
   System.out.println("This line will not be Executed");
  } catch (ArithmeticException e) {
   System.out.println("In the catch Block due to Exception = " + e);
  }
  System.out.println("End Of Main");
 }
}

Étape 5) Enregistrez, compilez et exécutez le code.Vous obtiendrez la sortie suivante

Comme vous le constatez, l'exception est gérée et la dernière ligne de code est également exécutée. Notez également que la ligne 7 ne sera pas exécutée car dès qu'une exception est déclenchée, le flux de contrôle passe au bloc catch.

Remarque : L'objet AritmeticException "e" contient des informations sur l'exception qui s'est produite, ce qui peut être utile pour prendre des mesures de récupération.

Hiérarchie des classes d'exceptions Java

Après l'exécution d'une instruction catch, les autres sont ignorées et l'exécution continue après le bloc try/catch. Les blocs catch imbriqués suivent la hiérarchie des exceptions.

Exemple : Comprendre l'imbrication des blocs try et catch

Étape 1) Copiez le code suivant dans un éditeur.

class JavaException {
 public static void main(String args[]) {
  try {
   int d = 1;
   int n = 20;
   int fraction = n / d;
   int g[] = {
    1
   };
   g[20] = 100;
  }
  /*catch(Exception e){
  	System.out.println("In the catch block due to Exception = "+e);
  }*/
  catch (ArithmeticException e) {
   System.out.println("In the catch block due to Exception = " + e);
  } catch (ArrayIndexOutOfBoundsException e) {
   System.out.println("In the catch block due to Exception = " + e);
  }
  System.out.println("End Of Main");
 }
}

Étape 2) Enregistrez le fichier et compilez le code. Exécutez le programme à l'aide de la commande java JavaException .

Étape 3) Une ArrayIndexOutOfBoundsException est générée. Remplacez la valeur de int d par 0. Enregistrez, compilez et exécutez le code.

Étape 4 ) Une ArithmeticException doit être générée.

Étape 5) Décommentez la ligne 10 à la ligne 12. Enregistrez, compilez et exécutez le code.

Étape 6) Erreur de compilation ? En effet, Exception est la classe de base de ArithmeticException Exception. Toute exception déclenchée par ArithmeticException peut également être gérée par la classe Exception. Ainsi, le bloc catch d'ArithmeticException n'aura jamais la chance d'être exécuté, ce qui le rend redondant. D'où l'erreur de compilation.

Bloquer enfin Java

Le bloc finally est exécuté indépendamment de la levée d'une exception dans le bloc try. C'est facultatif à utiliser avec un bloc try.

 try {
  statement(s)
 } catch (ExceptiontType name) {

  statement(s)

 } finally {

  statement(s)

 }

Dans le cas où une exception est levée dans le bloc try, le bloc finally est exécuté après l'exécution du bloc catch.

Exemple

Étape 1) Copiez le code suivant dans un éditeur.

class JavaException {
   public static void main(String args[]){
    try{
       int d = 0;
       int n =20;
       int fraction = n/d;
    }
  catch(ArithmeticException e){
    System.out.println("In the catch block due to Exception = "+e);
  }
  finally{
	System.out.println("Inside the finally block");
  }
}
}

Étape 2) Enregistrez, compilez et exécutez le code.

Étape 3) Production attendue. Enfin, le bloc est exécuté même si une exception est déclenchée.

Étape 4) Modifiez la valeur de la variable d =1. Enregistrez, compilez et exécutez le code et observez la sortie.Bottom of Form

Résumé :


Java

  1. Gestion des exceptions Python à l'aide de l'instruction try, except et finally
  2. Gestion des exceptions Java
  3. Java essayer ... attraper
  4. Java intercepte plusieurs exceptions
  5. Gestion des exceptions C++ :essayez, attrapez, lancez Exemple
  6. Méthode Java String charAt() avec exemple
  7. Méthode Java String endsWith () avec exemple
  8. Java BufferedReader :comment lire un fichier en Java avec un exemple
  9. Algorithme de tri par insertion en Java avec exemple de programme