Traductions de cette page?:

Exceptions

Traitement

Le fichier d'en-tête <exception> fournit des fonction et des classes pour la gestion des exception. Une des classes de base est exception:

class exception
{
public:
    exception() throw();
    exception(const exception&) throw();
    exception& operator=(const exception&) throw();
    virtual ~exception() throw();
    virtual const char *what() const throw();
};

Exceptions Standards

Le fichier d'en-tête <stdexcept> fournit une petite hiérarchie de classes d'exception qui peuvent être lancées (throw) ou attrapées (catch):

  • exception
    • logic_error
      • domain_error
      • invalid_argument
      • length_error
      • out_of_range
    • runtime_error
      • range_error
      • overflow_error
      • underflow_error

Les exceptions logic_error sont lancées quand le programme rencontre une erreur interne provoquée par l'utilisation erronée d'une fonction. Elles sont évitables au moment du codage.

Les exceptions runtime_error sont lancées par une erreur indépendante du programme lui même et ne peuvent être évitées directement lors de la création du programme.