Share via


nothrow (C++)

Section spécifique à Microsoft

Attribut étendu de __declspec qui peut être utilisé dans la déclaration de fonctions.

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

Notes

Cet attribut indique au compilateur que la fonction déclarée et les fonctions qu'elle appelle ne lèvent jamais d'exception. Avec le modèle synchrone de gestion des exceptions, utilisé désormais par défaut, le compilateur peut éliminer les mécanismes de suivi de la durée de vie de certains objets non déroulables dans une telle fonction, et peut réduire considérablement la taille du code. Compte tenu de la directive de préprocesseur suivante, les trois déclarations de fonction ci-dessous sont équivalentes :

#define WINAPI __declspec(nothrow) __stdcall 

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

L'utilisation de void __declspec(nothrow) __stdcall f2(); a comme avantage que vous pouvez utiliser une définition d'API, telle que celle représentée par l'instruction #define, pour spécifier facilement nothrow sur un ensemble de fonctions. La troisième déclaration, void __stdcall f3() throw(); est la syntaxe définie par la norme C++.

Consultez Gestion synchrone des exceptions pour plus d'informations.

FIN de la section spécifique à Microsoft

Voir aussi

Référence

__declspec

Mots clés C++