Controlar y generar excepciones

Actualización: noviembre 2007

Los programas deben poder controlar los errores que se producen durante la ejecución de manera uniforme. Common Language Runtime ofrece una gran ayuda para diseñar software con tolerancia a errores mediante un modelo que informa a los programas de los errores de manera uniforme. Todas las operaciones de .NET Framework informan de un error iniciando excepciones.

Hasta ahora, el modelo de control de errores de un lenguaje dependía de la forma exclusiva que tenía el lenguaje de detectar los errores y buscarles controladores o del mecanismo de control de errores proporcionado por el sistema operativo. El tiempo de ejecución implementa el control de excepciones con las características siguientes:

  • Controla las excepciones independientemente del lenguaje que las genera o del que las controla.

  • No requiere una sintaxis del lenguaje concreta para controlar las excepciones, si no que permite que cada lenguaje defina su propia sintaxis.

  • Permite que las excepciones se inicien traspasando los límites de los procesos e, incluso, los equipos.

Las excepciones ofrecen varias ventajas respecto a otros métodos de notificación de error, como los códigos devueltos. Ningún error pasa desapercibido. Los valores no válidos no se siguen propagando por el sistema. No es necesario comprobar los códigos devueltos. Es muy sencillo agregar código de control de excepciones para aumentar la confiabilidad del programa. Por último, el control de excepciones en tiempo de ejecución es más rápido que el control de errores de C++ basado en Windows.

Dado que los subprocesos de ejecución recorren de forma rutinaria bloques de código administrado y no administrado, el tiempo de ejecución puede iniciar o detectar excepciones tanto en código administrado como en no administrado. El código no administrado puede incluir excepciones SHE del tipo de C++ y resultados HRESULTS basados en COM.

En esta sección

Referencia

  • Exception (Clase)
    Información de referencia sobre la clase de la que derivan todas las excepciones.

  • Clase ApplicationException
    Información de referencia sobre la clase de la que deben derivar todas las excepciones generadas por la aplicación.

  • Clase SystemException
    Información de referencia sobre la clase de la que deben derivar todas las excepciones generadas por el sistema.

Secciones relacionadas