set_terminate

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu except.h - Index


Header-Datei

except.h

Syntax

typedef void (*terminate_handler)();

terminate_handler set_terminate(terminate_handler t_func);

Beschreibung

Mit set_terminate kann eine Funktion installiert werden, die das Beendigungsverhalten des Programms definiert, wenn keine Behandlungsroutine für die Exception gefunden wird. Die Aktionen werden in der Funktion t_func definiert, die als Funktion vom Typ terminate_handler deklariert werden muss. Der in except.h definierte Typ terminate_handler beschreibt eine Funktion, die keine Argumente übernimmt und void zurückgibt.

Standardmäßig führt eine Exception, für die keine Behandlungsroutine gefunden wird, dazu, dass das Programm die Funktion terminate aufruft. Normalerweise resultiert dies in einem Aufruf von abort. Das Programm wird dann mit der Meldung "Abnormal program termination" (Programmabbruch) beendet. Wenn von der Funktion terminate eine andere Funktion als abort aufgerufen werden soll, müssen Sie eine eigene Funktion t_func definieren. Die benutzerdefinierte Funktion t_func wird mit set_terminate als Beendigungsfunktion installiert. Durch die Installation von t_func können Sie beliebige Aktionen implementieren, die von abort nicht durchgeführt werden.

Rückgabewert

Die zuletzt an set_terminate übergebene Funktion bildet den Rückgabewert.

Die Funktion t_func muss so definiert sein, dass sie das Programm beendet. Eine solche benutzerdefinierte Funktion darf nicht zur aufrufenden Funktion (der Funktion terminate) zurückkehren. Wenn sie versucht, zur aufrufenden Funktion zurückzukehren, führt dies zu einem undefinierten Programmverhalten. Die Funktion t_func darf auch keine Exception auslösen.