cpp2html 0.1-alpha © 2002 Andrea Leofreddi. To get the source click here

// 4.2: Eccezioni
#include <iostream>

class Tipo1 { };
class Tipo2 { };
class Tipo3 { };

class Errore {
	private:
		const char *s;
	public:
		const char *get_text() { return s; };

		Errore(const char *k)
		: s(k) { }
};

using namespace std;

void prova();

int main() {
	try {
		cout << "aoo\n";
		prova();
	}

	catch(Tipo1 a) {
		cout << "catch di un'eccezione di tipo 1\n";
	}
	catch(Tipo2 a) {
		cout << "catch di un'eccezione di tipo 2\n";
	}
	catch(Errore a) {
		cout << "catch di un'eccezione di tipo Errore, testo: " << a.get_text() << "\n";
	}
	catch(...) {
		cout << "catch di un'eccezione di altro tipo\n";
	}
}

int prova2() {
	cout << "Lancio l'eccezione\n";
	throw Tipo1();
	//throw Tipo2();
	//throw Tipo3();
	//throw Errore("definizione dell'errore");
}

void prova() {
	prova2();
}