kennen:lib:unexpected
Inhaltsverzeichnis
unexpected()
#include <exception>
void unexpected ()
Ruft den unexpected_handler
auf.
Die Funktion wird aufgerufen, wenn eine Funktion über eine Ausnahme verlassen wird, die nicht in der throw-Spezifikation der Funktion steht.
Parameter
- | - |
Ergebnis
Rückgabewert: keiner.
Siehe auch
Beispiel
- unexpected.cpp
#include <exception> #include <iostream> void notstand() { std::cerr << "... wird es auch schief gehen.\n"; throw std::bad_exception(); } class X {}; class U {}; void harmlos() throw(U) // wirklich ??? { throw X(); } int main() { std::unexpected_handler old = std::set_unexpected(notstand); try { std::cout << "Was schiefgehen kann, ..." << std::endl; harmlos(); // unexpected(); } catch(bad_exception& ) { std::cerr << "\t(Murphy's Gesetz)\n"; } catch(...) { std::cerr << "...und zwar anders, als man erwartet.\n"; } 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, fängt X-Ausnahme ab
kennen/lib/unexpected.txt · Zuletzt geändert: 2012-04-11 17:24 von 127.0.0.1