Excepciones

5. Excepciones

Este tema es en particular el que queremos profundizar en la cátedra de C++

En nuestro caso vamos concentrarnos en las Excepciones, por eventos internos o software generados por el propio procesador durante la ejecución de instrucciones y las maneja el kernel del sistema operativo.
El sistema operativo Linux interpreta la mayoría de las excepciones emitidas por la CPU como condiciones de error. Cuando ocurre uno de ellos, el núcleo envía una señal al proceso que causó el excepción para notificarle una condición anómala. Si, por ejemplo, un proceso realiza una división por cero, la CPU genera una excepción de "Error de división" y el correspondiente
El controlador de excepciones envía una señal SIGFPE al proceso actual, que luego toma la pasos necesarios para recuperar o (si no hay ningún controlador de señal configurado para esa señal) cancelar.

La señal SIGFPE es una señal de excepción que se utiliza en sistemas Unix y Unix-like (como Linux) para manejar errores relacionados con operaciones aritméticas. SIGFPE significa "Floating Point Exception" (Excepción de Punto Flotante) y se genera cuando ocurren errores durante operaciones aritméticas, como la división por cero, el desbordamiento de enteros o el intento de calcular funciones matemáticas indefinidas, como el logaritmo de un número negativo.

Esta señal, SIGFPE se utiliza para notificar al programa que ha ocurrido un error durante una operación aritmética, lo que permite al programa manejar adecuadamente la situación, como terminar la ejecución o manejar el error de otra manera. Es importante gestionar estas excepciones para evitar comportamientos inesperados o fallos en el programa.

Veremos como tratar las excepciones, no las interrupciones.