namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:set_terminate

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

kennen:lib:set_terminate [2012-04-11 17:24] (aktuell)
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 (Externe Bearbeitung)