Levée d’exception

Définition, exemples et bonnes pratiques

À retenir

  • C'est un signal d'alarme qui interrompt le cours normal du programme.
  • Si l'exception n'est pas « attrapée » (gérée), le logiciel s'arrête brutalement (crash).
  • Elle permet de séparer le code qui réalise une action du code qui gère les erreurs.

La levée d’exception est le mécanisme par lequel un programme informatique signale qu'une erreur ou un événement imprévu vient de se produire. C'est un peu comme si un employé, face à une situation qu'il ne sait pas gérer, levait la main pour appeler son responsable au lieu de continuer à travailler au hasard.

Étymologie

Le mot exception vient du latin exceptio (« action d'exclure »). En informatique, on utilise le verbe lever (ou throw en anglais, signifiant « lancer ») pour illustrer l'action de projeter une alerte vers le haut de la hiérarchie du code afin qu'elle soit traitée par un bloc de sécurité.

Exemples d'usage

  • Une tentative de diviser un nombre par zéro provoque une levée d'exception mathématique.
  • Le programme essaie d'ouvrir un fichier texte qui a été supprimé ou déplacé.
  • Une application perd la connexion internet au moment de sauvegarder des données sur un serveur.

Cas d'usage

Ce concept est omniprésent dans la programmation moderne (Python, Java, JavaScript, C++). Il intervient dès qu'un programme interagit avec l'extérieur : lecture de fichiers, saisies utilisateur, requêtes réseau ou calculs complexes où le résultat pourrait être indéfini.

Bonnes pratiques

Il ne faut pas utiliser la levée d'exception pour gérer le flux normal d'un programme (comme une simple boucle), car cela consomme beaucoup de ressources système. Il est recommandé de lever des exceptions spécifiques (ex: FileNotFoundException) plutôt que des alertes trop génériques qui ne donnent aucune indication sur la nature précise du problème.

Synonymes

lancer une exception déclenchement d'erreur throw

Antonymes

exécution nominale traitement sans erreur

Conseil

Quand vous débutez, n'ayez pas peur des exceptions qui s'affichent dans votre console : elles sont vos meilleures amies pour comprendre exactement où et pourquoi votre code a échoué. Lisez attentivement le message associé, il contient souvent la solution.

Questions fréquentes

Une levée d'exception fait-elle forcément planter le logiciel ?

Non. Si le développeur a prévu un bloc de code pour 'intercepter' l'exception, le programme peut continuer à fonctionner après avoir traité le problème.

Quelle est la différence entre une erreur et une exception ?

Une erreur est souvent un problème matériel ou système grave (mémoire pleine), alors qu'une exception est un événement gérable au sein du code de l'application.