Tabla de Contenidos
Donde ocurre la excepción
Cada vez que ejecutamos software, esperamos que nuestro software funcione correctamente en cada situación. Pero en algunos casos, algunos eventos ocurren cuando se detiene el flujo normal de ejecución de nuestro software. Entonces, cuando decimos que nuestro software tiene que ser robusto, significa que el software funciona perfectamente en cada situación.
manejo de excepciones
El manejo de excepciones de C++ se usa para manejar sistemáticamente la condición de error en un programa tomando la acción necesaria. El manejo de excepciones nos permite administrar y responder fácilmente a los errores de tiempo de ejecución.
Intenta, atrapa, lanza
- Siempre que ocurre una situación excepcional en nuestro programa, la contenemos en un bloque llamado Intentar Cuadra.
- Si ocurre una excepción dentro del bloque try, debe lanzarse con la palabra clave tirar.
- Esta excepción es capturada por captura Cuadra. La acción necesaria para manejar la excepción se realiza en el bloque catch.
sintaxis
Intentar {
}
Captura ( Argumento de tipo 1 ) {
}
Captura ( Argumento tipo 2 ) {
}
———-
Captura ( Tipo Narg ) {
}
explicación
Primero usamos para escribir la palabra clave Intentar. Después de completar el bloque de prueba, necesitamos escribir captura bloquear inmediatamente. Podemos escribir varios bloques catch seguidos. Pero donde termina el bloque try, todos los bloques catch deben escribirse inmediatamente. Si no escribimos el bloque catch inmediatamente después del bloque try, puede ocurrir un error. usamos tirar Palabra clave dentro del bloque try.
Ejemplo de programación 1
# Contiene
Usar espacio de nombres defecto ;
interno principalmente()
{
cout< “Programa de Manejo de Excepciones :” ;
Intentar {
tirar 30 ;
cout< «\n intentar» ;
}
captura( interno mi ) {
cout< «\n Excepción No. : ” < mi ;
}
cout< «\n Probar última línea» ;
}
producción
Explicación de la programación.
En este ejemplo de programación tratamos de mostrar cómo ocurren las excepciones y cómo se manejan. Dentro de la función principal que usamos después de escribir una declaración de salida Intentar Cuadra. tirar La palabra clave se usa dentro del bloque try. Después de la palabra clave throw usamos un número 30. Puede ser una cadena, un doble o un flotante, cualquier constante que podamos usar. Luego escribimos una instrucción Cout. Pero esta línea no se puede ejecutar después de ejecutar throw. Después de completar el bloque try, inmediatamente escribimos el bloque catch. Dentro del bloque catch escribimos la línea (int e). Usando la palabra clave Throw, cualquier valor que arrojemos, ese valor entra en la variable e. Después de salir del bloque catch, escribimos una instrucción de salida «\n testing The Last Line». Ahora surge la pregunta cuando esta línea se ejecuta después de la declaración de salida dentro del bloque catch.
Reglas de lanzamiento para intentar, atrapar y bloquear
- Cuando escribimos un bloque de prueba, necesitamos escribir un bloque de captura.
- Si solo escribimos un bloque catch y no un bloque try and throw, se producirá un error.
- Si escribimos un bloque throw y catch y no escribimos un bloque try, se produce un error.
- Si solo escribimos los bloques throw y no try and catch, no se produce ningún error. Esto significa que podemos escribir throw sin escribir el bloque try.
- Si escribimos varios bloques catch con diferentes tipos de argumentos uno tras otro cuyo valor throw coincida con el tipo del argumento catch, será aceptado. Entonces no se ejecuta ningún otro bloque catch. El ejemplo de programación se da a continuación.
Ejemplo de programación 2
Usar espacio de nombres defecto ;
interno principalmente()
{
cout< “Programa de Manejo de Excepciones :” ;
Intentar {
Cuando( yo==1)
tirar 1 ;
Cuando( yo==2)
tirar 2 ;
Cuando( yo==3)
tirar 3 ;
cout< «\n intentar» ;
}
captura( doble mi ) {
cout< «\n Excepción No. : ” < mi ;
}
captura( interno mi ) {
cout< «\n Excepción No. : ” < mi ;
}
cout< «\n Probar última línea» ;
}
producción
F. Podemos escribir varias declaraciones de lanzamiento en un solo bloque de prueba.
Ejemplo de programación 3
usar espacio de nombres defecto ;
interno principalmente()
{
interno yo=3 ;
cout< “Programa de Manejo de Excepciones :” ;
Intentar {
Cuando( yo==1)
tirar 1 ;
Cuando( yo==2)
tirar 2 ;
Cuando( yo==3)
tirar 3 ;
cout< «\n intentar» ;
}
captura( interno mi ) {
cout< «\n Excepción No. : ” < mi ;
}
cout< «\n Probar última línea» ;
}
producción
GRAMO. Podemos poner declaraciones de lanzamiento en un bloque de prueba sin especificar un valor de lanzamiento.
Ejemplo de programación 4
usar espacio de nombres defecto ;
interno principalmente()
{
cout< “Programa de Manejo de Excepciones :” ;
interno yo=3 ;
Intentar {
Cuando( yo==3)
tirar ;
cout< «\n intentar» ;
}
captura( interno) {
cout< «\n Excepción No. : ” ;
}
cout< «\n Probar última línea» ;
}
producción
explicación
Aquí escribimos la palabra clave throw sin especificar un valor, luego el programa sale porque no hay un manejo de excepción adecuado aquí. Como resultado, el bloque catch no se ejecuta. No habrá ningún error en tiempo de compilación. Pero en tiempo de ejecución, el programa sale con un mensaje de «Salida llamada sin excepción activa».
Conclusión
Hablando en detalle sobre el manejo de excepciones, aquí aprendemos que si ocurre alguna situación inusual en nuestro programa, el programa debe estar listo para manejar esta situación inusual.