set_unexpected

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu except.h - Index


Header-Datei

except.h

Syntax

typedef void ( * unexpected_handler )();

unexpected_handler set_unexpected(unexpected_handler unexpected_func);

Beschreibung

Mit set_unexpected kann eine Funktion installiert werden, die das Programmverhalten definiert, wenn eine Funktion eine Exception auslöst, die in der Exception-Spezifikation des Programms nicht definiert ist. Die Aktionen werden in der Funktion unexpected_func definiert, die als Funktion vom Typ unexpected_handler deklariert werden muss. Der in except.h definierte Typ unexpected_handler beschreibt eine Funktion, die keine Argumente übernimmt und void zurückgibt.

Standardmäßig führt eine unvorhergesehene Exception zu einem Aufruf von unexpected. Wenn sie definiert ist, wird sie anschließend von unexpected aufgerufen. Die Programmsteuerung wird dann der benutzerdefinierten Funktion unexpected_func übergeben. Andernfalls wird terminate aufgerufen.

Rückgabewert

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

Die Funktion unexpected_func darf definitionsgemäß nicht zu der Funktion zurückkehren, die sie aufgerufen hat (die Funktion unexpected). Wenn sie versucht, zur aufrufenden Funktion zurückzukehren, führt dies zu einem undefinierten Programmverhalten.

Die Funktion unexpected_func kann auch abort, exit oder terminate aufrufen.