Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++
- Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001
char f1 (const std::string s, int idx)
{
std::string tmp = s; // lokales Objekt, das bei einer Ausnahme
//... // automatisch zerstört wird
char c = s.at(idx); // könnte Ausnahme auslösen
//...
return c;
}
void foo()
{
try {
std::string s("hallo"); // wird bei einer Ausnahme zerstört
f1(s,11); // löst eine Ausnahme aus
f2(); // wird bei einer Ausnahme in f1() nicht aufgerufen
}
catch (...) {
std::cerr << "Exception, wir machen aber weiter" << std::endl;
}
// hier geht es nach der Ausnahme in f1() weiter
//...
}