kennen:lib:unexpected
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | kennen:lib:unexpected [2012-04-11 17:24] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== unexpected() ====== | ||
+ | ''# | ||
+ | |||
+ | <code cpp> | ||
+ | void unexpected () | ||
+ | </ | ||
+ | Ruft den '' | ||
+ | |||
+ | Die Funktion wird aufgerufen, wenn eine Funktion über eine Ausnahme verlassen wird, | ||
+ | die nicht in der [[..: | ||
+ | |||
+ | ==== Parameter ==== | ||
+ | | - | -| | ||
+ | ==== Ergebnis ==== | ||
+ | Rückgabewert: | ||
+ | |||
+ | ==== Siehe auch ==== | ||
+ | [[set_unexpected]]. | ||
+ | |||
+ | |||
+ | ==== Beispiel ==== | ||
+ | <code cpp unexpected.cpp> | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | void notstand() | ||
+ | { | ||
+ | std::cerr << "... wird es auch schief gehen.\n"; | ||
+ | throw std:: | ||
+ | } | ||
+ | |||
+ | class X {}; | ||
+ | class U {}; | ||
+ | |||
+ | void harmlos() throw(U) | ||
+ | { | ||
+ | throw X(); | ||
+ | } | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | std:: | ||
+ | |||
+ | try | ||
+ | { | ||
+ | std::cout << "Was schiefgehen kann, ..." << std::endl; | ||
+ | harmlos(); | ||
+ | // unexpected(); | ||
+ | } | ||
+ | catch(bad_exception& | ||
+ | { | ||
+ | std::cerr << " | ||
+ | } | ||
+ | catch(...) | ||
+ | { | ||
+ | std::cerr << " | ||
+ | } | ||
+ | return 0; | ||
+ | } | ||
+ | // Bugs ???: | ||
+ | // minGW g++ 2.95 : ...wird schief gehen, danach | ||
+ | abnormal program termination () | ||
+ | // (exception handling in experimental stage) | ||
+ | // M$ VC++ 6.0 : ignoriert throw-Deklaration, | ||
+ | </ | ||
kennen/lib/unexpected.txt · Zuletzt geändert: 2012-04-11 17:24 von 127.0.0.1