C++ Try-Catch-Finalmente

C Try Catch Finalmente



C++ proporciona el método 'try-catch' para manejar las excepciones. Cuando ocurre una excepción en el programa C++, estos métodos 'try-catch' ayudan a cambiar el control de una parte del código del programa a otra. Una excepción es un problema técnico que aparece mientras se ejecuta un programa. Cuando ocurre una situación extraordinaria, como intentar dividir por cero, mientras se ejecuta un programa, se genera una excepción de C++ y manejamos esta situación simplemente utilizando el método 'try-catch' en nuestros códigos. Contiene tres palabras clave: 'intentar', 'atrapar' y 'lanzar'. La palabra clave 'throw' se utiliza para lanzar la excepción en otras partes del código. La programación en C++ no nos facilita la palabra clave 'finalmente', pero podemos usar las palabras clave 'try', 'catch' y 'throw' en códigos C++.

Ejemplo 1:

Aquí se incluye el “iostream”, el archivo de cabecera en el que se declaran varias funciones. Usamos estas funciones que se declaran en este archivo de encabezado en nuestro código, por lo que incluimos este archivo de encabezado. Después de esto, tenemos el 'std' que se coloca aquí ya que funciones como 'cin' y 'cout' también están definidas en él. No necesitamos escribir 'std' con todas estas funciones si agregamos el 'espacio de nombres std' al comienzo de nuestro código. Después de esto, aquí se invoca la función “main()”, que también se conoce como el código del controlador del programa C++.

Luego, utilizamos aquí la palabra clave 'probar' en la que inicializamos 'my_num1' con el valor '35'. Aquí es la variable de tipo de datos 'int'. Ahora, colocamos esta variable dentro de “si” y colocamos una condición que diga que “mi_núm1” debe ser mayor o igual a “98”. Si se cumple la condición dada, avanza dentro de 'si' y ejecuta la declaración que está escrita aquí. Utilizamos el 'cout' e insertamos un mensaje para mostrar cuando se cumple la condición.







Después de esto, usamos la palabra clave 'lanzar' después de colocar 'else'. En esta palabra clave 'lanzar', pasamos 'my_num1' como parámetro. Agregamos la parte 'captura' debajo de esto. Insertamos 'my_num2' como parámetro de 'catch()' y luego usamos 'cout' nuevamente dentro de esta parte 'catch'. Esta parte se ejecuta solo cuando ocurre una excepción en la parte 'intentar'.



Código 1:



#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
En t principal ( ) {
  intentar {
    En t mi_num1 = 35 ;
    si ( mi_num1 >= 98 ) {
      corte << 'El acceso se concede aquí.' ;
    } demás {
      tirar ( mi_num1 ) ;
    }
  }
  atrapar ( En t mi_num2 ) {
    corte << 'Aquí el acceso está denegado.' << fin ;
    corte << 'El numero es: ' << mi_num2 ;  
  }
  devolver 0 ;
}

Producción:
El número que ingresamos es '35', que es menor que '98'. Entonces, la excepción ocurre allí y se muestra la parte 'catch()'. Se deniega el acceso a la parte “probar”.





Ejemplo 2:

Colocamos aquí el archivo de encabezado “iostream” y el “namespace std”. Luego de esto creamos una función “división()” en la cual colocamos dos parámetros que son el “numerador” y el “denominador” del tipo de datos “int”. Establecemos el tipo de datos de esta función de 'división' en 'doble'.



Debajo de esto, agregamos “if()” en el que agregamos la condición de que el denominador sea igual a cero. Después de esto, usamos la palabra clave 'lanzar' y escribimos un mensaje allí. Este mensaje se muestra cada vez que ocurre la excepción en este código de acuerdo con la condición. Debajo de esto, utilizamos la palabra clave 'retorno' en la que colocamos 'numerador/denominador'. Entonces, devuelve el resultado de la división. Ahora, se llama a la función 'principal ()'.

Después de esto, “num1” y “num2” se inicializan como variables “int” y se les asignan “89” y “0” respectivamente. Luego, inicializamos el 'resultado' del tipo de datos 'doble'. Aquí utilizamos la palabra clave 'probar'. En esta parte, agregamos esta variable de 'resultado' y asignamos la función 'división ()' a esta variable. Pasamos dos parámetros a esta función: “num1” y “num2”. Debajo de esto, mostramos el 'resultado' que obtenemos después de aplicar la función 'división()'. Después de esto, también utilizamos el “catch” y colocamos el “const char* msg” para mostrar el mensaje que agregamos previamente.

Código 2:

#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
doble división ( En t numerador, En t denominador ) {
    si ( denominador == 0 ) {
      tirar '¡Aquí no es posible dividir por cero!' ;
    }
    devolver ( numerador / denominador ) ;
}
En t principal ( ) {
    En t número1 = 89 ;
    En t número2 = 0 ;
    doble resultado = 0 ;
    intentar {
resultado = división ( número1, número2 ) ;
      corte << resultado << fin ;
    } atrapar ( constante carbonizarse * mensaje ) {
      cerrar << mensaje << fin ;
    }
    devolver 0 ;
}

Producción:
El número que previamente insertamos como denominador es “0”. Entonces, la excepción ocurre en el código y muestra el mensaje dado.

Ejemplo 3:

Aquí se crea la función “multiplicación()” en la que colocamos el “valor” y el “multiplicador” como parámetros del tipo de datos “int”. Luego, utilizamos 'si' en el que agregamos una condición multiplicadora que es igual a cero. Luego, se coloca 'tirar' donde agregamos una declaración. Luego, tenemos el “retorno” donde colocamos las variables “valor*multiplicador” que declaramos previamente. Entonces, devuelve aquí el resultado de la multiplicación.

Después de esto, llamamos a 'main()' donde declaramos el 'int value1' y el 'int value2' con los valores de '34' y '0', respectivamente. El 'int m_res' también se declara y luego se llama aquí la función 'multiplicación()'. Después de realizar esta función, el resultado ahora se guarda en la variable 'm_res' y luego se muestra. Posteriormente, empleamos la función “catch” e insertamos el “const char* msg” para mostrar el mensaje que agregamos previamente en la parte “throw”.

Código 3:

#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
doble multiplicación ( En t valor , En t multiplicador ) {
    si ( multiplicador == 0 ) {
      tirar '¡No multiplicamos el valor por cero!' ;
    }
    devolver ( valor * multiplicador ) ;
}
En t principal ( ) {
    En t valor1 = 34 ;
    En t valor2 = 0 ;
    En t m_nada ;
    intentar {
m_nada = multiplicación ( valor1, valor2 ) ;
      corte << m_nada << fin ;
    } atrapar ( constante carbonizarse * mensaje ) {
      cerrar << mensaje << fin ;
    }
    devolver 0 ;
}

Producción :
Dado que el valor que ingresamos anteriormente tiene “0” como multiplicador, el código tiene una excepción que hace que el aviso se muestre aquí.

Ejemplo 4:

Aquí, construimos la función 'multiplicar ()' y pasamos el 'número1' y el 'número2' como parámetros del tipo de datos 'int'. A continuación, usamos el operador 'si' para agregarle una condición que es un multiplicador menor o igual a cero. Después de eso, se agrega la declaración donde se supone que debe estar 'tirar'. El resultado de la multiplicación luego se devuelve en la sección “retorno” donde insertamos la variable “número1 * número2” que declaramos previamente.

Posteriormente, invocamos la función “main()” y asignamos los valores “34” y “12” a “int newNumber1” y “int newNumber2”, respectivamente. Aquí, la función 'multiplicar()' se llama después de la declaración del 'int mResult'. Ahora, el resultado de esta función se almacena en la variable 'mResult' y se representa a continuación. Luego usamos la función 'catch' y agregamos 'const char* msg' para mostrar el mensaje que escribimos en la sección 'throw'.

Código 4:

#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
doble multiplicar ( En t numero 1 , En t Número 2 ) {
    si ( Número 2 <= 0 ) {
      tirar '¡No multiplicamos el valor por cero o por valor negativo!' ;
    }
    devolver ( numero 1 * Número 2 ) ;
}
En t principal ( ) {
    En t nuevoNum1 = 34 ;
    En t nuevoNum2 = 12 ;
    En t mResultado ;
    intentar {
mResultado = multiplicar ( nuevoNum1, nuevoNum2 ) ;
      corte << 'El resultado de la multiplicación es ' << mResultado << fin ;
    }
    atrapar ( constante carbonizarse * mensaje ) {
      cerrar << mensaje << fin ;
    }
    devolver 0 ;
}

Producción:
El valor que sumamos es “12” al que le sumamos la condición. Entonces, se realiza la función “multiplicar()” ya que la condición no es verdadera. Se muestra el resultado de la multiplicación. La parte 'probar' se ejecuta aquí.

Conclusión

El concepto “try-catch” y los códigos de esta guía se estudian en detalle. Exploramos a fondo este concepto de 'try-catch' y mostramos cómo funciona en la programación en C++. Definimos que el término 'lanzar' crea una excepción cuando se encuentra un error que nos permite escribir nuestro código único. Usando la expresión 'catch', podemos especificar un bloque de código que se ejecutará si aparece una excepción en la parte 'try'.