Las aplicaciones tienen que ser capaces de controlar de forma coherente los errores que se producen durante la ejecución. .NET proporciona un modelo para notificar errores a las aplicaciones de manera uniforme: las operaciones .NET indican errores iniciando excepciones.
Excepciones
Una excepción es cualquier condición de error o comportamiento inesperado que encuentra un programa en ejecución. Las excepciones pueden iniciarse debido a un error en el código propio o en el código al que se llama (por ejemplo, una biblioteca compartida), a recursos del sistema operativo no disponibles, a condiciones inesperadas que encuentra el runtime (por ejemplo, imposibilidad de comprobar el código), etc. La aplicación puede recuperarse de algunas de estas condiciones, pero no de todas. Aunque es posible recuperarse de la mayoría de las excepciones que se producen en la aplicación, no ocurre lo mismo con las excepciones de runtime.
En .NET, una excepción es un objeto que hereda de la clase System.Exception. Una excepción se inicia desde un área del código en la que ha producido un problema. La excepción se pasa hacia arriba en la pila hasta que la aplicación la controla o el programa finaliza.
Excepciones vs. métodos tradicionales de control de errores
Tradicionalmente, el modelo de control de errores de un lenguaje se basaba en el modo exclusivo del lenguaje de detectar los errores y buscarles controladores, o bien en el mecanismo de control de errores ofrecido por el sistema operativo. La forma en que .NET implementa el control de excepciones proporciona las siguientes ventajas:
La administración e iniciación de excepciones funciona de igual modo para los lenguajes de programación. NET.
No requiere ninguna sintaxis de lenguaje específica para controlar las excepciones, pero permite que cada lenguaje defina su propia sintaxis.
Las excepciones pueden iniciarse en varios procesos en incluso límites de máquina.
Se puede agregar el código de control de excepciones a una aplicación para aumentar la confiabilidad del programa.
Las excepciones ofrecen ventajas sobre otros métodos de notificación de errores, por ejemplo, los códigos de retorno. Lo errores no pasan desapercibidos porque si se inicia una excepción y no la controla, el runtime finaliza la aplicación. Los valores no válidos no continúan propagándose por el sistema como resultado de que el código no pueda encontrar un código de retorno de error.
Excepciones comunes
En la tabla siguiente se muestra algunas excepciones comunes con ejemplos de las causas que las originan.
En este módulo se explora el uso de excepciones y el proceso de control de excepciones en aplicaciones de consola de C#. Las actividades prácticas proporcionan experiencia en la implementación de patrones de control de excepciones para varios escenarios de codificación.