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
- Tipos de excepciones
- ¿Qué es el manejo de excepciones?
- Falla del bloque de captura
- Múltiples bloques de captura
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:
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 WindowsMú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.