Exceptions Java - try catch

Exception-Java-try-catch-java-debutant

1 - Introduction aux exceptions Java

Lors de l'exécution du code Java, différentes erreurs peuvent se produire:

  • erreurs de codage commises par le programmeur,
  • erreurs de l'utilisateur dues à une entrée erronée,
  • fichier introvable... ou autre chose imprévisible....

En cas d'erreur, Java s'arrête normalement et génère un message d'erreur. Le terme technique utilisé est le suivant: Java générera une exception (une erreur).

Heureusement le langage Java est doté d'une instruction try - catch :

2 - L'instruction try - catch

  • L'instruction try vous permet de définir un bloc de code à tester et qu'il ne sera traité par Java que s'il ne contient pas d'erreur ! En cas d'erreur, Java se dirige automatiquement au bloc catch:
  • L'instruction catch vous permet de définir un bloc de code à exécuter si une erreur se produit dans le bloc try, et qui pourra sauver l'affaire en  remplaçant le morceau de code erroné qui se trouve dans le bloc try
    Les mots clés try and catch viennent par paires:
    Syntaxe
try {  
	//  Bloc de code à tester
}catch(Exception e) { 
	//  Bloc de code à traiter en cas d'erreur dans le bloc try
}

Prenons l'exemple suivant:
Cela générera une erreur, car myClass[5] n’existe pas.

public class myClass {       
	public static void main(String[] args) {           
		String  [] pc = {"Acer", "Azus","Hp"};    
		System.out.println (pc [5]); // Erreur! 
		//En plus l'exécution du programme s'arrête !
		System.out.println ("voici un message qui ne sera pas exécuté à cause de l'erreur !");
	}
}

La sortie ressemblera à ceci :

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at exceptionTest.Except.main(Except.java:8)

Comme vous le voyez un message mechant et horible ! En plus l'exécution du programme s'arrête ! Vous avez bien remarqué que le dernier output n'a pas été exécuté.

Pour régler ce problème, nous allons utilisé l'instruction try - catch 

 public static void main(String[] args) {
	 
	 try{ /*ici on demande à Java de faire seulement un essai de traiter ce code et de 
	 l'ignorer en cas d'erreur pour passer au 2ème code qui se trouve dans le bloc catch */ 
	    String  [] pc = {"Acer", "Azus","Hp"};
	    System.out.println (pc [5]); // Erreur!
			  }
	 catch(Exception e){/*Java traitera ce code seulement si le code qui 
	 se trouve dans le bloc try contient une erreur !  */
	    System.out.println("Votre choix n'est pas valide !");
		   	}
	    System.out.println ("L'exécution du programme se poursuit maintenant !");
	}

Ce qui affiche à l'exécution un gentil petit message :

Votre choix n'est pas valide !
L'exécution du programme se poursuit maintenant !

Et en plus l'exécution du programme se poursuit sans problème !

3 - L'exception Java dans sa forme générale en utilisant la classe throwable

 

Youns Derfoufi
CRMEF OUJDA

Leave a Reply