/* IFT1169 - démonstration #04 - exercice 01 - Question 02 - 11-février -2006 v1.03 M.Lokbani - màj pour IFT1169 + gcc3.4.2 06-décembre -2003 v1.02 M.Lokbani - comments + gcc3.2 23-juin -2000 v1.01 M.Lokbani - gcc2.95 23-novembre -1999 v1.00 M.Lokbani - l'énoncé+solution idée originale de A.Dancel, 25/01/97 remise à jour pour prendre en compte la nouvelle définition de unexpected + terminate (voir pour cela livre de Stroustrup). contact: lokbani@iro.umontreal.ca Copyright (C) 1999-2006 Université de Montréal Département d'informatique et de Recherche Opérationnelle Mohamed Lokbani -- Tous Droits Réservés -- All Rights Reserved -- Description: ------------ Fichier source associée à 1169demo04exo1q2sol.h Description: Cet exercice permet de vous montrer l'utilisation des techniques d'exception en C++. Définition d'une classe Essai avec quelques membres dont la classe Erreur. Nous montrons dans cet exemple comment on peut faire l'appel aux méthodes unexpected et terminate. Ce solutionnaire couvre les questions 2 et 3. */ #ifndef _EXC_ #define _EXC_ #include #include using namespace std; class Essai { public: class Erreur { public: Erreur(int n=0): _val(n) {} int get_val() { return _val;} private: int _val; }; Essai() { cout << "Constructeur d'Essai" << endl; } ~Essai() { cout << "Destructeur d'Essai" << endl; } void f1() throw (Erreur){ // uniquement une exception du type Erreur est autorisée int d=1; throw d; // ici on lance une exception d'un objet du type entier, appel de unexpected } }; #endif