namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:set_terminate
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


kennen:lib:set_terminate [2012-04-11 17:24] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== set_terminate() ======
 +''#include'' [[..:include:exception]]
 +
 +<code cpp>
 +terminate_handler set_terminate (terminate_handler handler) 
 +</code>
 + Hinterlegt einen Verweis auf die Funktion, die am Ende der Ausnahmebehandlung aufzurufen ist.
 +
 +Ein ''terminate_handler'' soll die Programmausführung beenden,
 +ohne zum Aufrufer zurückzukehren. Die Standardfunktion ruft [[abort]].
 +
 +==== Parameter ====
 +| ''handler'' | Adresse einer Funktion |
 +Die Funktion muss folgenden Typ besitzen:
 +
 +<code cpp>
 +typedef void (*terminate_handler) ();
 +</code>
 +==== Ergebnis ====
 +Rückgabewert: die Adresse der bisherigen Behandlungsroutine.
 +
 +==== Siehe auch ====
 +[[terminate]].
 +
 +==== Beispiel ====
 +<code cpp set_terminate.cpp>
 +#include <exception>
 +#include <iostream>
 +
 +void notstand()
 +{
 +  std::cerr << "Das war's.\n";
 +  std::abort();
 +}
 +
 +int main()
 +{
 +  terminate_handler old = std::set_terminate(notstand); 
 +
 +  // if( ! geht_weiter )
 +  {
 +    std::terminate();
 +  }
 +  // ...
 +  return 0;
 +}
 +</code>
  
kennen/lib/set_terminate.txt · Zuletzt geändert: 2012-04-11 17:24 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki