nothrow (C++)

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Específicos de Microsoft

Atributo extendido __declspec que se puede usar en la declaración de funciones.

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

Este atributo indica al compilador que la función declarada y las funciones a las que llama nunca iniciarán una excepción. Con el modelo de control asincrónico de excepciones, que ahora es el predeterminado, el compilador puede eliminar los mecanismos de seguimiento de la duración de algunos objetos que no se pueden desenredar en esa función, y reducir significativamente el tamaño del código. Dada la directiva de preprocesador siguiente, las tres declaraciones de función que se muestran a continuación son equivalentes:

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

Con void __declspec(nothrow) __stdcall f2();, tiene la ventaja de que puede usar una definición de API, como la que ilustra la instrucción #define, para especificar fácilmente nothrow en un conjunto de funciones. La tercera declaración, void __stdcall f3() throw();, es la sintaxis definida en el estándar de C++.

Para obtener más información, vea Control sincrónico de excepciones.

FIN de Específicos de Microsoft

__declspec
Palabras clave de C++

Mostrar: