Logo Studenta

Excepciones y manejo de errores en C

¡Estudia con miles de materiales!

Vista previa del material en texto

Excepciones y manejo de errores en C++
El manejo de errores y excepciones es una parte fundamental de cualquier programa, ya
que permite controlar situaciones inesperadas y garantizar un comportamiento adecuado
del programa incluso en casos de fallos. En C++, el manejo de errores se realiza a través
de excepciones, que son eventos que pueden ocurrir durante la ejecución del programa y
que pueden ser capturados y manejados.
En C++, las excepciones se lanzan utilizando la palabra clave throw y se capturan
utilizando bloques try-catch. Cuando se produce una excepción, el programa busca el
bloque catch correspondiente que pueda manejar esa excepción. Si se encuentra un
bloque catch adecuado, el código dentro de ese bloque se ejecuta para manejar la
excepción. Si no se encuentra un bloque catch adecuado, la excepción se propaga hacia
arriba en la pila de llamadas hasta que se encuentra un bloque catch que pueda manejarla
o hasta que el programa se detiene si no se maneja la excepción.
El manejo de excepciones en C++ se basa en el principio de separación de
preocupaciones, lo que significa que el código que puede lanzar una excepción se separa
del código que maneja la excepción. Esto permite que el código principal se en la lógica
del programa sin tener que preocuparse por los detalles de cómo se manejan los errores.
Un ejemplo básico de manejo de excepciones en C++ sería el siguiente:
#include <iostream>
int dividir(int a, int b) {
 if (b == 0) {
 throw std::runtime_error("División por cero");
 }
 return a / b;
}
int main() {
 try {
 int resultado = dividir(10, 0);
 std::cout << "El resultado es: " << resultado << std::endl;
 } catch (const std::exception& e) {
 std::cout << "Error: " << e.what() << std::endl;
 }
 return 0;
}
En este ejemplo, la función dividir() lanza una excepción si el divisor es cero. En el
bloque try, llamamos a la función dividir() y capturamos cualquier excepción que se lance
en el bloque catch. Si se produce una excepción, el código dentro del bloque catch se
ejecuta y muestra un mensaje de error.
El manejo de excepciones en C++ permite un control más preciso de los errores y una
respuesta adecuada a situaciones inesperadas. Permite separar la lógica del programa del
manejo de errores, lo que facilita el mantenimiento y la depuración del código. Sin
embargo, es importante utilizar excepciones de manera adecuada y no abusar de ellas, ya
que un uso excesivo de excepciones puede afectar el rendimiento del programa. Es
recomendable utilizar excepciones para situaciones excepcionales y errores graves, y
utilizar otros mecanismos de manejo de errores para casos más comunes y predecibles.

Continuar navegando