Definieren von strukturierten Exceptions (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Strukturierte Exceptions unter Win32 (C++)

Das Auslösen einer Win32-Exception, die in demselben Programm behandelt wird, ist im Allgemeinen wenig sinnvoll: C++-Exceptions sind wirkungsvoller, erheblich besser portierbar und haben eine einfachere Syntax. Win32-Exceptions haben jedoch den Vorteil, dass sie von Komponenten behandelt werden können, die nicht mit demselben C++-Compiler compiliert worden sein müssen.

Der erste Schritt ist die Definition der Exception. Eine Exception ist ein 32-Bit-Integer mit dem folgenden Format (beginnend bei Bit 0):

Bit Bedeutung
31-30 11 = Fehler (normal)
00 = Erfolg
01 = Information
10 = Warnung
29 1 = benutzerdefiniert
28 Reserviert
27-0 Benutzerdefiniert

Zusätzlich zur Definition des Exception-Codes müssen Sie entscheiden, ob in die Exception weitere Informationen (zugreifbar für den Filter/die Behandlungsroutine aus dem Exception-Record) einbezogen werden sollen. Es gibt keine konventionelle Methode für das Codieren von zusätzlichen Parametern in dem Exception-Code.

Siehe auch