nothrow (C++)

 

Nejnovější dokumentaci k sadě Visual Studio 2017 najdete tady.

Specifické pro Microsoft

Rozšířený atribut __declspec, který lze použít v deklaracích funkcí.

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

Tento atribut oznamuje kompilátoru, že deklarovaná funkce a funkce, které volá, nikdy nevyvolají výjimku. V modelu synchronního zpracování výjimek, který je nyní výchozí, může kompilátor odstranit mechanismus sledování životnosti určitých nerozvinutelných objektů v takové funkci a významně tak snížit velikost kódu. S využitím následující direktivy preprocesoru jsou tři deklarace funkce uvedené níže ekvivalentní:

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

Použití deklarace void __declspec(nothrow) __stdcall f2(); má výhodu, že prostřednictvím definic rozhraní API, například těch, které jsou uvedeny v příkazu #define, lze snadno zadat klíčové slovo nothrow pro sadu funkcí. Třetí deklarace, void __stdcall f3() throw();, je syntaxí definovanou standardem C++.

Další informace naleznete v tématu Synchronní zpracování výjimek.

Specificka produktu Microsoft END

__declspec
Klíčová slova jazyka C++

Zobrazit: