Excepcions són condicions anormals durant el temps d'execució o de compilació. és un concepte molt essencial en c ++. Aquest article us presentarà el tractament d’excepcions en C ++ juntament amb els seus diferents tipus.
En aquest article es tractaran les següents indicacions,
- Tipus d’excepcions
- Què és el maneig d'excepcions?
- Error de bloqueig de captures
- Múltiples blocs de captura
Comencem doncs,
Gestió d'excepcions a C ++
Tipus d’excepcions
Hi ha dos tipus d’excepció,
Excepció del temps d'execució
És una excepció capturada durant el temps d'execució.
millor ide de Java per a Windows
Excepció en temps de compilació
És una excepció capturada durant el temps de compilació.
Continuem amb aquest article de Gestió d’excepcions a C ++,
Què és el maneig d'excepcions?
Els errors interrompen l'execució normal d'un programa. El tractament d’excepcions és molt necessari i és el procés de tractament d’errors o excepcions. Assegura que l'execució del programa no es veu afectada per les excepcions i les gestiona lentament sense causar cap problema a l'execució del programa.
Si teniu en compte el tractament d’excepcions, hi ha tres termes associats,
Proveu-ho
El codi dins d’aquest bloc és com un codi de prova, que pot generar una excepció. Aquesta excepció es troba dins del bloc de captures.
Captura
El codi d’aquest bloc s’executa quan el codi dels blocs try genera una excepció.
Llançar
Aquesta paraula clau s'utilitza per generar una excepció quan es troba. L'excepció s'envia al controlador d'excepcions.
Sintaxi:
S'executa el codi dins del bloc try. Si es genera un error, la paraula clau llança l'excepció al controlador d'excepcions, és a dir, al bloc de captura. El bloc de captura va executar el codi, que es troba dins del seu bloc, gestionant així l'excepció.
Vegem el codi de mostra per al tractament d’excepcions en c ++
Codi de mostra
#include using namespace std try {// code for try throw & ldquoexception & rdquo} catch (exception) {// code for catch} int main () {int x = 1 try {cout<< 'Try Block: '<Sortida:
Explicació
Aquest programa demostra el maneig de les excepcions. Tenim una variable x, a la qual se li assigna un valor de 1. Llavors tenim l’inici del bloc try. En aquest bloc, tenim una sentència if amb la condició x<10.
En el nostre cas, la condició és certa, ja que x és una. El programa llança una excepció i el control canvia a bloquejar. Executem la condició a la part de captura i sortim del bloc.
captura (...) {cost<< 'Default Exceptionn'<Finalment, executem les sentències restants després del bloc de captures i del programa de sortida.
Hi pot haver una declaració de captures múltiples, en funció del nombre d'excepcions possibles.
Continuem amb aquest article de Gestió d’excepcions a C ++,
Error de bloqueig de captures
Penseu en el programa anterior, si en lloc de x, la paraula clau throw llança 'ABC', la funció de captura no la podrà gestionar. Es mostrarà un error,
En aquest cas, es pot mostrar el missatge d'error guanyat.
Per solucionar-ho, hem d’afegir una funció de captura predeterminada al codi per gestionar aquests problemes.
#include using namespace std int main () {int x = 1 try {cout<< 'Try Block: '<Sortida:
com sortir del programa Java
Explicació:
Aquest codi és similar a l'anterior. L'únic canvi és que l'excepció generada és de tipus char. Això fa que la nostra funció de captura sigui inútil. Per tant, hem inclòs una funció de captura per defecte.
Si cap de les sentències de captura no coincideix, s'executa la captura per defecte.
Múltiples blocs de captura
Hi pot haver diversos blocs de captura d’un bloc de prova únic.
Aquí en teniu un exemple,
#include use namespace std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<Sortida:
Explicació:
Al codi anterior, fem servir diverses declaracions de captura. Tenim una prova de funció que genera una excepció. En el primer cas de prova, el valor és 10. Com que 10 és superior a zero, es llança ‘a’ el personatge i és capturat per la segona funció de captura.
En el segon cas, el valor és inferior a 0, de manera que es llança el valor -1 i és capturat per una excepció sencera
Gestió d'excepcions a la classe base i derivada:
Si es capturen les excepcions de classe base i derivada, s'ha d'executar la captura de classe derivada abans de la classe base.
Aquí hi ha algunes excepcions:
std :: excepció
error_lògic
error d'execució
bad_alloc
com convertir el doble en intmal_cast
mala_excepció
Amb això arribem al final d’aquest bloc sobre ‘Gestió d’excepcions en C ++’. Espero que us hagi estat útil i informatiu, estigueu atents a més tutorials sobre temes similars. També podeu consultar el nostre programa de formació tPodeu obtenir coneixements en profunditat sobre jQuery juntament amb les seves diverses aplicacions per a formació en línia en directe amb assistència les 24 hores del dia, els 7 dies de la setmana i accés durant tota la vida.
Tens alguna pregunta? Esmenta’ls a la secció de comentaris d’aquest bloc i et respondrem.