Section courante

A propos

Section administrative du site

Gestion des erreurs

La gestion des erreurs consiste à identifier, capturer et traiter les erreurs qui peuvent survenir pendant l'exécution d'un programme.

Les erreurs peuvent être :

La gestion des erreurs se concentre sur les erreurs d'exécution et les situations imprévues.

Pourquoi gérer les erreurs

Un programme sans gestion des erreurs est fragile et difficile à maintenir.

Types d'erreurs à gérer

Type Exemple
Entrée/saisie invalide L'utilisateur entre un texte au lieu d'un nombre
Erreur de calcul Division par zéro, racine carrée d'un nombre négatif
Erreur de fichier Fichier inexistant, permissions insuffisantes
Erreur réseau Perte de connexion, dépassement de délai
Exceptions système Null pointer, dépassement de mémoire

Méthodes classiques de gestion d'erreurs

Codes de retour (Procédural)

  1. #include <stdio.h>
  2.  
  3. int diviser(int a, int b, int *resultat) {
  4.     if (b == 0) return -1; /* code erreur */
  5.     *resultat = a / b;
  6.     return 0; /* succès */
  7. }
  8.  
  9. int main() {
  10.     int r;
  11.     if (diviser(10, 0, &r) != 0)
  12.         printf("Erreur : division par zéro\n");
  13.     else
  14.         printf("Résultat : %d\n", r);
  15.     return 0;
  16. }

Exceptions (langages modernes)

Vérifications préalables

Bonnes pratiques

Exemple complet de gestion d'erreurs (Free Pascal)

  1. Program ExempleGestionErreurs;
  2.  
  3. Uses SysUtils;
  4.  
  5. Function Diviser(a,b:Integer):Double;Begin
  6.  If b = 0 Then
  7.     raise Exception.Create('Division par zéro interdite');
  8.  Result := a / b;
  9. End;
  10.  
  11. BEGIN
  12.  Try
  13.   Writeln('Résultat : ', Diviser(10, 0):0:2);
  14.  Except
  15.   On E: Exception do
  16.    Writeln('Erreur détectée : ', E.Message);
  17.  End;
  18. END.

Stratégies avancées

Gestion hiérarchique

Journalisation (logging)

Tests associés

Avantages d'une bonne gestion des erreurs

Bénéfice Explication
Robustesse Le programme continue malgré les anomalies
Sécurité Empêche comportements imprévus ou dangereux
Maintenance Facilite le diagnostic et la correction
Lisibilité Le code est clair sur le traitement normal vs erreur

Transition vers la POO

En programmation orientée objet :

Exemple : ECompteInsuffisant pour une méthode RetirerArgent d'une classe CompteBancaire

Résumé

Règle d'or : un programme sans gestion d'erreurs est un programme fragile et dangereux.



Dernière mise à jour : Jeudi, le 1er janvier 2026