Manejo de excepciones

Definición: ¿Qué significa el manejo de excepciones?

El manejo de excepciones es un mecanismo en el que se utiliza una construcción de programación para capturar, interceptar y manejar de manera consistente el error ocurrido durante la ejecución de la aplicación. Common Language Runtime (CLR) de .NET Framework está diseñado para utilizar un modelo de manejo de excepciones basado en objetos de excepción y bloques de código protegidos.

Las características del mecanismo de manejo de excepciones implementado en CLR son las siguientes:

a) Cada idioma puede tener su propia especificación para manejar excepciones sin restricciones

b) Las excepciones se generan y manejan independientemente del idioma utilizado y el tipo de código (administrado o no administrado)

c) Las excepciones se pueden lanzar a través de los límites del proceso o de la máquina

Techinfo explica el manejo de excepciones

El tiempo de ejecución de .NET lanza excepciones como objetos derivados de la clase System.Exception que contienen detalles del error, incluido el mensaje y la línea de código donde ocurrió el error, etc. La construcción "try..catch..finally" se usa para el manejo de excepciones. Mientras que los bloques "try" (donde se anticipan excepciones) y "catch" (donde se manejan las excepciones) son obligatorios, el bloque "finalmente" (donde el código se ejecuta en cualquier caso) es opcional.

En comparación con el manejo de errores implementado con métodos tradicionales, como el uso del código de retorno como en el Modelo de objetos componentes (COM) y las declaraciones "ir a", como en Visual Basic, etc., los principales beneficios de las excepciones en .NET son la captura de todos fallas, eliminación del proceso de verificación del valor de retorno y su uso (si no es válido) en aplicaciones, uso en escenarios donde no hay valor de retorno como constructores, mayor confiabilidad y mejor desempeño.

Aunque Java proporciona excepciones "comprobadas" que ayudan a prevenir la incidencia de excepciones no controladas durante la compilación, no se pueden utilizar para errores que son fallos irrecuperables. El manejo de excepciones en C ++ difiere del de .NET por no tener el bloque "finalmente" para limpiar los recursos y sin ninguna restricción para el tipo de excepción.

Esta definición se escribió en el contexto de .NET