Connexion




Programmer Orienté Objet en Java

Par Arthur Martineau


<-- Rendre son code lisible Les exceptions Conclusion -->


Les exceptions


Attaquons la dernière partie de ce cours, les exceptions.

Vous en avez peut être déjà entendu parler lors de l'apprentissage d'un autre langage de programmation comme le C.

 

Les exceptions sont des erreurs qui, en général, arrêtent le programme. Même si cela vous semble inconnu, vous en avez déjà rencontré dans ce cours.

En effet, lorsque vous avez compilé un de vos programmes, vous avez à coup sûr obtenu quelques fois un message s'affichant en rouge dans la console d'Eclipse. Ce message est un message qui a été créé par une exception, et même pas une exception qui n'a pas été capturée.

 

Dans ce cours, nous allons apprendre à capturer les exceptions, on peut aussi appeller ça gérer les exceptions.

 

En quoi cela consiste ? 

Gérer une exception consiste à trouver une action effectuée par notre code et qui est suceptible de générer une exception (par exemple une division par 0), pour la traiter. Par traiter, j'entends afficher un message signalant qu'il y a eu un problème et de permettre de continuer l'exécution du programme sans devoir le relancer.

 

A titre d'information :

Java contient une classe Exception qui répertorie les erreurs et envoi le message d'erreur correspondant comme la division par zéro.

 

La première chose que nous allons voir, c'est comment ne pas interrompre notre programme dans le cas d'une exception.

La procédure est assez simple. Dans un premier temps, il faut identifier le nom de l'exception qui est générée. La façon de s'y prendre est simple, on va mettre volontairement le programme dans l'erreur que l'on souhaite identifier.

 

Provoquer une division par zéro, vous obtiendrez alors ceci :

On voit alors que notre exception se nomme ArithmeticException.

 

Nous allons maintenant créer un message personnalisé lorsque cette erreur sera déclenchée. Pour la capturer nous allons utiliser le bloc try{...] catch{...}.

Pour cela nous allons taper le code suivant dans notre main :

 

Et après compilation, on obtiendra ceci : 

 

Petites explications :

  1. System.out.println(j/i); est contenu dans le bloc try qui permet d'isoler cette partie pouvant générer une exception ;
  2. Lorsque cette ligne est exécuté, l'exception se déclenche ;
  3. Mais contrairement à tout à l'heure, on capture l'exception ! Le bloc catch possède justement un objet de type ArtithmeticException en paramètre ;
  4. L'instruction du bloc catch se déclenche ;
  5. Le programme reprend son cours comme si de rien n'était (hormis l'affichage de notre message d'erreur).

Nous en avons fini avec les exceptions.



<-- Rendre son code lisible Les exceptions Conclusion -->