Este sitio utiliza cookies para análisis y para mostrar contenido y anuncios personalizados. Al continuar navegando por este sitio, aceptas este uso.Más información
Esta documentación está archivada y no tiene mantenimiento.
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Las especificaciones de excepción son características del lenguaje en cuestión. que está desusado en C++0x.Se diseñaron para proporcionar información de resumen sobre qué excepciones se pueden iniciar desde una función, pero se encontraron en la práctica para ser problemáticas.La especificación de excepciones que mostraba ser alguna era la especificación throw ().Por ejemplo:
indica al compilador que la función no produce ninguna excepción.Es el equivalente a la __declspec (nothrow).Su uso se considera opcional.En C++0x, muestran el operador de noexcept , pero la compatibilidad para esta característica no todavía está presente en Visual C++ a partir de Visual Studio 2012.
Visual C++ deja el estándar ANSI en su implementación de las especificaciones de excepciones.La tabla siguiente se resume la implementación de Visual C++ de las especificaciones de excepciones:
Especificación de excepciones
Significado
throw ()
La función no producirá una excepción.Sin embargo, si se produce una excepción de una captura función marcada (), el compilador de Visual C++ no llamará inesperado (vea unexpected (CRT) y unexpected (<exception>) para obtener más información).Si una función se marca con la captura (), el compilador de Visual C++ supondrá que la función no produce excepciones de C++ y no genera código en consecuencia.Debido a las optimizaciones codificadas que se pueden realizar en el compilador de C++ (basado en la suposición de que la función no produce ninguna excepción de C++) si una función produce una excepción, el programa puede no ejecutarse correctamente.
captura (...)
La función puede producir una excepción.
throw (type)
La función puede producir una excepción de typeescrito.Sin embargo, en Visual C++ .NET, esto se interpreta como captura (...).Vea Especificadores de excepción de la función.
Si el control de excepciones se utiliza en una aplicación, debe haber una o más funciones que controlan excepciones producidas.Cualquier función llamada entre la que produce una excepción y la que controla la excepción debe ser capaz de producir la excepción.
El comportamiento de captura de una función depende de los factores siguientes: