¿Cómo implementar el manejo de excepciones en C ++?



Este artículo lo ayudará a comprender qué es el manejo de excepciones y cómo implementar el manejo de excepciones en C ++ con una demostración práctica.

Excepciones son condiciones anormales durante el tiempo de ejecución o compilación. es un concepto muy esencial en c ++. Este artículo le presentará el manejo de excepciones en C ++ junto con sus diferentes tipos.

En este artículo se cubrirán los siguientes consejos,





suma de dígitos en java

Así que comencemos entonces

Manejo de excepciones en C ++

Tipos de excepciones

Hay dos tipos de excepciones,



Excepción en tiempo de ejecución

Es una excepción detectada durante el tiempo de ejecución.

Excepción en tiempo de compilación



Es una excepción detectada durante el tiempo de compilación.

Continuando con este artículo sobre manejo de excepciones en C ++,

¿Qué es el manejo de excepciones?

Los errores interrumpen la ejecución normal de un programa. El manejo de excepciones es muy necesario y es el proceso de manejo de errores o excepciones. Se asegura de que la ejecución del programa no se vea afectada por las excepciones y las maneja lentamente sin causar ningún problema en la ejecución del programa.

Cuando considera el manejo de excepciones, hay tres términos asociados con él,

Tratar

El código dentro de este bloque es como un código de prueba, que podría generar una excepción. Esta excepción está atrapada dentro del bloque de captura.

Captura

El código de este bloque se ejecuta cuando el código de los bloques try arroja una excepción.

Lanzar

Esta palabra clave se usa para lanzar una excepción cuando se encuentra. La excepción se envía al controlador de excepciones.

Sintaxis:

Se ejecuta el código dentro del bloque try. Si se genera un error, la palabra clave throw lanza la excepción al manejador de excepciones, es decir, el bloque catch. El bloque catch luego ejecutó el código, que está dentro de su bloque, manejando así la excepción.

Echemos un vistazo al código de muestra para el manejo de excepciones en c ++

Código de muestra

#incluir usando el espacio de nombres std try {// código para try throw & ldquoexception & rdquo} catch (exception) {// código para catch} int main () {int x = 1 try {cout<< 'Try Block: '<

Salida:

Salida - Manejo de excepciones en C ++ - Edureka

Explicación

Este programa demuestra el manejo de excepciones. Tenemos una variable x, a la que se le asigna un valor de 1. Luego tenemos el inicio del bloque try. En este bloque, tenemos una sentencia if con la condición x<10.

En nuestro caso, la condición es verdadera ya que x es uno. El programa luego lanza una excepción y el control cambia al bloque de captura. Ejecutamos la condición en la parte de captura y salimos del bloque.

catch (...) {cost<< 'Default Exceptionn'<

Por último, ejecutamos las sentencias restantes después del bloque catch y del programa de salida.

Puede haber varias declaraciones de captura, dependiendo del número de posibles excepciones.

Continuando con este artículo sobre manejo de excepciones en C ++,

Falla del bloque de captura

Considere el programa anterior, si en lugar de x la palabra clave throw arroja 'ABC', la función catch no podrá manejarlo. Mostrará un error,

En tal caso, podemos mostrar nuestro mensaje de error ganado.

Para resolver esto, necesitamos agregar una función de captura predeterminada al código para manejar tales problemas.

#incluir usando el espacio de nombres std int main () {int x = 1 try {cout<< 'Try Block: '<

Salida:

Explicación:

Este código es similar al anterior. El único cambio es que la excepción lanzada es de tipo char. Esto da como resultado que nuestra función de captura sea inútil. Así que hemos incluido una función de captura predeterminada.

Si ninguna de las declaraciones de captura coincide, se ejecuta la captura predeterminada.

cómo configurar la ruta de Java en Windows

Múltiples bloques de captura

Puede haber varios bloques de captura de un solo bloque de prueba.

Aquí hay un ejemplo,

#incluya el uso del espacio de nombres std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Salida:

Explicación:

En el código anterior, usamos varias declaraciones de captura. Tenemos una prueba de funcionamiento que genera una excepción. En el primer caso de prueba, el valor es 10. Dado que 10 es mayor que cero, se lanza 'a' el carácter y es capturado por la segunda función de captura.

En el segundo caso, el valor es menor que 0, por lo que el valor -1 se lanza y es capturado por una excepción de entero

Manejo de excepciones en la clase base y derivada:

Si se detectan las excepciones de la clase base y derivada, la captura de la clase derivada debe ejecutarse antes que la clase base.

Aquí hay algunas excepciones:

  • std :: excepción

  • error_lógico

  • Error de tiempo de ejecución

  • bad_alloc

  • bad_cast

  • bad_exception

Con esto llegamos al final de este blog sobre 'Manejo de excepciones en C ++'. Espero que haya encontrado esto informativo y útil, permanezca atento a más tutoriales sobre temas similares. También puede consultar nuestro programa de capacitación tPara obtener un conocimiento profundo sobre jQuery junto con sus diversas aplicaciones, puede para capacitación en línea en vivo con soporte 24/7 y acceso de por vida.

Tienes una pregunta para nosotros? Menciónalos en la sección de comentarios de este blog y nos comunicaremos contigo.