À retenir
- Interrompt le flux normal du programme.
- Sert à signaler une erreur ou un cas imprévu.
- Permet d'éviter un crash brutal de l'application.
C'est l'action de signaler qu'un événement inhabituel ou une erreur vient de se produire pendant l'exécution d'un programme. Imaginez qu'un robot de cuisine rencontre un os alors qu'il mixe de la soupe : au lieu de casser son moteur, il émet un signal d'alerte spécifique pour demander de l'aide ou s'arrêter proprement.
Étymologie
L'expression est une traduction de l'anglais to raise an exception ou to throw an exception. Le terme exception vient du latin exceptio (action de mettre à part), soulignant qu'il s'agit d'un cas qui sort de la règle normale du programme.
Exemples d'usage
- Une application qui tente de diviser un nombre par zéro.
- Un logiciel qui essaie d'ouvrir un fichier qui n'existe pas sur le disque dur.
- Un formulaire web où l'utilisateur saisit des lettres dans un champ réservé aux numéros de téléphone.
Cas d'usage
On utilise ce concept dans presque tous les langages de programmation modernes (Python, Java, JavaScript, C++, etc.) pour gérer proprement les erreurs réseau, les problèmes de base de données ou les saisies utilisateur invalides sans faire planter tout le système.
Bonnes pratiques
Il ne faut pas utiliser les exceptions pour gérer la logique normale du programme, car cela ralentit l'exécution. Il est aussi recommandé de lever des exceptions spécifiques (ex: FileNotFoundException) plutôt que des erreurs trop générales, afin que celui qui les reçoit sache exactement comment réagir.
Synonymes
Antonymes
Conseil
Quand vous débutez, apprenez à lire les messages qui s'affichent lorsqu'une exception est levée : ils contiennent souvent le nom de l'erreur et la ligne exacte du code qui pose problème.
Questions fréquentes
Quelle est la différence entre lever et attraper une exception ?
Lever (throw) c'est lancer l'alerte quand un problème survient. Attraper (catch) c'est intercepter cette alerte pour exécuter un plan de secours.
Est-ce qu'une exception arrête toujours le programme ?
Pas forcément. Si le développeur a prévu un bloc 'try/catch' pour l'intercepter, le programme peut continuer après avoir géré l'erreur.