Descripción general del manejo de excepciones
El manejo de excepciones es un mecanismo en un lenguaje de programación o hardware informático que se utiliza para manejar condiciones anormales que ocurren en software o sistemas de información (es decir, ciertas condiciones especiales que exceden el flujo de ejecución normal del programa) .
Varios lenguajes de programación tienen diferencias muy significativas en el manejo de excepciones (la diferencia entre detección de errores y manejo de excepciones es: la detección de errores es un código que maneja problemas imprevistos en el flujo normal del programa, como una llamada a una operación no pudo finalizar exitosamente). Algunos lenguajes de programación tienen funciones que no se pueden llamar de forma segura cuando la entrada contiene datos ilegales o el valor de retorno no se puede distinguir eficazmente de las excepciones. Por ejemplo, la función atoi en lenguaje C (conversión de cadena ASCII a entero) puede devolver 0 cuando la entrada es ilegal. En este caso, el programador necesita realizar una detección de errores adicional (tal vez a través de algunas variables globales auxiliares como el errno de C), o una verificación de entrada (como a través de expresiones regulares), o usar ambos métodos simultáneamente.
A través del manejo de excepciones, podemos controlar y avisar a los usuarios sobre entradas ilegales en el programa para evitar que el programa falle.
Desde una perspectiva de proceso, las interrupciones de hardware son equivalentes a excepciones recuperables, aunque las interrupciones generalmente no están relacionadas con el flujo del programa en sí.
Desde la perspectiva de un programador de subrutinas, las excepciones son un mecanismo muy útil para notificar al mundo exterior que la subrutina no puede ejecutarse normalmente. Si los datos ingresados no son válidos (por ejemplo, el divisor es 0) o los recursos requeridos no están disponibles (por ejemplo, falta el archivo). Si el sistema no tiene un mecanismo de excepción, los programadores deben usar valores de retorno para indicar qué errores ocurrieron.