FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Comment gérer les exceptions Java de la bonne manière

En tant que débutant en programmation, le concept de gestion des exceptions peut être difficile à comprendre. Non pas que le concept lui-même soit difficile, mais la terminologie peut le faire paraître plus avancé qu'il ne l'est. Et c'est une fonctionnalité si puissante qu'elle est sujette à des abus et à des abus.

Dans cet article, vous apprendrez ce que sont les exceptions, pourquoi elles sont importantes, comment les utiliser et les erreurs courantes à éviter. La plupart des langages modernes ont une sorte de gestion des exceptions, donc si jamais vous quittez Java, vous pouvez emporter la plupart de ces conseils avec vous.

Comprendre les exceptions Java

En Java, une exception est un objet qui indique que quelque chose d'anormal (ou "exceptionnel") s'est produit pendant l'exécution de votre application. Ces exceptions sont levées , ce qui signifie essentiellement qu'un objet d'exception est créé (similaire à la façon dont les erreurs sont "suscitées").

La beauté est que vous pouvez attraper levées d'exceptions, ce qui vous permet de gérer la condition anormale et de permettre à votre application de continuer à s'exécuter comme si de rien n'était. Par exemple, alors qu'un pointeur nul en C peut planter votre application, Java vous permet de lancer et d'attraper

Exception NullPointer 

s avant qu'une variable nulle ait une chance de provoquer un plantage.

N'oubliez pas qu'une exception n'est qu'un objet, mais avec une caractéristique importante :elle doit être étendue à partir de

Exception 

classe ou toute sous-classe de

Exception 

. Bien que Java ait toutes sortes d'exceptions intégrées, vous pouvez également créer les vôtres si vous le souhaitez. Certaines des exceptions Java les plus courantes incluent :

  • Exception NullPointer 
  • NumberFormatException 
  • IllegalArgumentException 
  • RuntimeException 
  • IllegalStateException 

Que se passe-t-il lorsque vous lancez une exception ?

Tout d'abord, Java regarde dans la méthode immédiate pour voir s'il y a du code qui gère le type d'exception que vous avez levée. Si un gestionnaire n'existe pas, il examine la méthode qui a appelé la méthode actuelle pour voir si un gestionnaire existe à cet endroit. Sinon, il regarde la méthode qui a appelé that méthode, puis la méthode suivante, etc. Si l'exception n'est pas détectée, l'application imprime une trace de pile, puis se bloque. (En fait, c'est plus nuancé qu'un simple plantage, mais c'est un sujet avancé qui dépasse le cadre de cet article.)

Une trace de pile est une liste de toutes les méthodes traversées par Java lors de la recherche d'un gestionnaire d'exceptions. Voici à quoi ressemble une trace de pile :

Exception dans le thread "main" java.lang.NullPointerException 
à com.example.myproject.Book.getTitle(Book.java:16)
à com.example.myproject.Author.getBookTitles(Author.java:25)
à com.example.myproject.Bootstrap.main(Bootstrap.java:14)

Nous pouvons en tirer beaucoup de choses. Tout d'abord, l'exception levée était un

Exception NullPointer 

. Cela s'est produit dans le

getTitle() 

méthode à la ligne 16 de Book.java. Cette méthode a été appelée depuis

getBookTitles() 

à la ligne 25 de Author.java. Ça la méthode a été appelée depuis

main() 

sur la ligne 14 de Bootstrap.java. Comme vous pouvez le voir, savoir tout cela facilite le débogage.

Mais encore une fois, le véritable avantage des exceptions est que vous pouvez "gérer" la condition anormale en interceptant l'exception, en réglant les choses correctement et en reprenant l'application sans plantage.

Utilisation des exceptions Java dans le code

Disons que vous avez

uneMéthode() 

qui prend un entier et exécute une logique qui pourrait casser si l'entier est inférieur à 0 ou supérieur à 100. Cela pourrait être un bon endroit pour lancer une exception :


[]