Freigeben über


nothrow (C++)

Microsoft-spezifisch

Ein erweitertes __declspec-Attribut, das in der Deklaration von Funktionen verwendet werden kann.

return-type __declspec(nothrow) [call-convention] function-name ([argument-list])

Hinweise

Dieses Attribut weist den Compiler an, dass die deklarierte Funktion und die Funktionen, die aufgerufen werden, nie eine Ausnahme auslösen. Mit dem Modell für synchrone Ausnahmebehandlung kann der Compiler nun standardmäßig die Mechanismen der Lebensdauerverfolgung gewisser entladbarer Objekte in einer solchen Funktion eliminieren, wodurch die Codegröße erheblich reduziert wird. Bei der Präprozessordirektive sind die folgenden drei Funktionsdeklarationen gleichwertig:

#define WINAPI __declspec(nothrow) __stdcall 

void WINAPI f1();
void __declspec(nothrow) __stdcall f2();
void __stdcall f3() throw();

Die Verwendung von void __declspec(nothrow) __stdcall f2(); hat den Vorteil, dass Sie eine API-Definition verwenden können, wie die von der #define-Anweisung veranschaulichte Definition, um nothrow auf einem Satz von Funktionen anzugeben. Die dritte Deklaration, void __stdcall f3() throw(); ist die Syntax, die vom C++-Standard definiert wird.

Weitere Informationen erhalten Sie unter Synchrone Ausnahmebehandlung.

END Microsoft-spezifisch

Siehe auch

Referenz

__declspec

C++-Schlüsselwörter