Section courante

A propos

Section administrative du site

CATCH

Attrapé
ISO C++98

Syntaxe

handler ::= catch ( exception-declaration ) compound-statement
exception-declaration ::= type-specifier-seq declarator |
type-specifier-seq abstract-declarator | type-specifier-seq | . . .

Paramètres

Nom Description
handler Ce paramètre permet d'indiquer le gestionnaire
exception-declaration Ce paramètre permet d'indiquer une déclaration d'exception.
compound-statement Ce paramètre permet d'indiquer une composante d'instruction.

Description

Ce mot réservé permet la gestion des erreurs.

Exemple

Cet exemple permet d'intercepter une division par 0 manuellement :

Essayer maintenant !
  1. #include <iostream>
  2.  
  3. int main() {
  4.     try {
  5.         int a = 0;
  6.         int b = 0;
  7.          // Provoque une erreur de division par 0
  8.         if(b == 0) throw 0;
  9.         a /= b;
  10.     } catch(const std::exception& ex) {
  11.         std::cerr << "Message de l'exception : " << ex.what(  ) << '\n';
  12.     } catch(int ex) {
  13.         std::cerr << "Exception de division par 0" << '\n';
  14.     }
  15.     return 0;
  16. }

on obtiendra le résultat suivant :

Exception de division par 0

Voir également

Langage de programmation - C++ - Références de mots réservés (mots clefs) - throw
Langage de programmation - C++ - Références de mots réservés (mots clefs) - try

Dernière mise à jour : Lundi, le 3 août 2015