nothrow (C++)
Específico da Microsoft
Um atributo __declspec estendido que pode ser usado na declaração de funções.
return-type __declspec(nothrow) [call-convention] function-name ([argument-list])
Comentários
Esse atributo diz ao compilador que a função declarada, e as funções que ela chama nunca lançam uma exceção. Com o modelo de tratamento de exceções síncronas, agora padrão, o compilador pode eliminar a mecânica de acompanhar o tempo de vida útil de determinados objetos desenroláveis nessa função e reduzir significativamente o tamanho do código. Dada a política de pré-processador a seguir, as três declarações de função abaixo são equivalentes:
#define WINAPI __declspec(nothrow) __stdcall
void WINAPI f1();
void __declspec(nothrow) __stdcall f2();
void __stdcall f3() throw();
Usar void __declspec(nothrow) __stdcall f2(); tem a vantagem de poder usar uma definição de API, como ilustrado pela instrução #define, para especificar nothrow facilmente em um conjunto de funções. A terceira declaração, void __stdcall f3() throw(); é a sintaxe definida pelo padrão C++.
Consulte Tratamento de exceções síncronas para obter mais informações.
FIM de Específico da Microsoft