Manejo de errores en C++

Naila Saad Siddiqui 15 febrero 2024
  1. Manejo de errores en C++
  2. Manejo de excepciones en C++
Manejo de errores en C++

Esta guía trivial analiza el manejo de errores y excepciones en C++.

Manejo de errores en C++

Puede haber varios tipos de errores en su programa en C++. Algunos errores requieren una indicación para el usuario.

Debe dar al usuario un mensaje de error adecuado y salir del programa.

Para el manejo de errores, puede haber varias formas diferentes que pueden adoptarse. Algunos de estos son:

  1. Dar algunos mensajes de error codificados al usuario.
  2. Guardar algunos mensajes de error esperados en algunas variables y mostrar esas variables.
  3. Hacer el manejo de excepciones.

El primer método para dar algunos mensajes de error codificados es muy fácil y simple. Siempre que haya una posibilidad de error en el código, muestre algún mensaje de error y salga del código.

Por ejemplo, en caso de que el inicio de sesión o la contraseña no sean válidos, puede mostrar un mensaje como este:

cout << "You have entered an incorrect username or password" << endl;
cout << "Try again!" << endl;

El segundo método es hacer algunas cadenas para el posible mensaje de error y mostrar esas variables donde sea necesario.

const string INVALID_LOGIN_ERROR_MESSAGE = "Invalid Username or Password";
// later in the code
cout << INVALID_LOGIN_ERROR_MESSAGE << endl;

Estos tipos de cadenas se pueden declarar en un archivo de encabezado separado como ErrorMessages.h e incluir ese archivo de encabezado en su archivo principal. La ventaja de estos literales de cadena es evitar la duplicación de código.

Cada vez que desee cambiar el mensaje de error, debe cambiarlo en un lugar (es decir, la parte de la declaración).

Manejo de excepciones en C++

Algunos errores de tiempo de ejecución no se pueden prevenir incluso con habilidades de programación expertas. Estas son excepciones, y manejamos excepciones para este tipo de errores.

Por ejemplo, podemos intentar acceder a alguna memoria de la máquina que no está disponible, o un usuario de API puede pasar argumentos ilegales a la función. Tales tipos de errores se manejan mediante el manejo de excepciones.

Para utilizar el manejo de excepciones en su programa, encerramos el bloque de código que espera algún error en un bloque de intento. Entonces, cada vez que hay una excepción, el control se cambia automáticamente al bloque catch asociado que muestra algún mensaje de error significativo antes de finalizar el programa.

Considere el siguiente ejemplo.

#include <iostream>
using namespace std;

int main() {
  int n1 = 2, n2 = 0;
  try {
    if (n2 != 0)
      cout << "Division: " << n1 / n2 << endl;
    else
      throw 0;
  } catch (int e) {
    cout << "Divide by zero exception " << endl;
  }
  return 0;
}

La salida del código anterior será:

Manejo de excepciones en C++

Artículo relacionado - C++ Error