Come implementare la gestione delle eccezioni in C ++?



Questo articolo ti aiuterà a capire cos'è la gestione delle eccezioni e come implementare la gestione delle eccezioni in C ++ con dimostrazioni pratiche.

Eccezioni sono condizioni anomale durante il tempo di esecuzione o il tempo di compilazione. è un concetto molto essenziale in c ++. Questo articolo ti introdurrà alla gestione delle eccezioni in C ++ insieme ai suoi diversi tipi.

I seguenti suggerimenti saranno trattati in questo articolo,





Quindi iniziamo allora,

Gestione delle eccezioni in C ++

Tipi di eccezioni

Esistono due tipi di eccezione,



Eccezione in fase di esecuzione

i miei tutorial sql per principianti

È un'eccezione rilevata durante il runtime.

Eccezione in fase di compilazione



È un'eccezione rilevata durante la compilazione.

Andando avanti con questo articolo sulla gestione delle eccezioni in C ++,

Che cos'è la gestione delle eccezioni?

Gli errori interrompono la normale esecuzione di un programma. La gestione delle eccezioni è molto necessaria ed è il processo di gestione degli errori o delle eccezioni. Si assicura che l'esecuzione del programma non sia influenzata dalle eccezioni e le gestisce lentamente senza causare alcun problema all'esecuzione del programma.

Quando si considera la gestione delle eccezioni, ci sono tre termini ad essa associati,

Provare

Il codice all'interno di questo blocco è come un codice di prova, che potrebbe generare un'eccezione. Questa eccezione viene rilevata all'interno del blocco catch.

Catturare

Il codice in questo blocco viene eseguito quando il codice nei blocchi try genera un'eccezione.

Gettare

Questa parola chiave viene utilizzata per generare un'eccezione quando viene rilevata. L'eccezione viene inviata al gestore delle eccezioni.

Sintassi:

Il codice all'interno del blocco try viene eseguito. Se viene generato un errore, la parola chiave throw genera l'eccezione al gestore delle eccezioni, ovvero il blocco catch. Il blocco catch quindi ha eseguito il codice, che si trova all'interno del suo blocco, gestendo così l'eccezione.

Diamo un'occhiata al codice di esempio per la gestione delle eccezioni in c ++

Codice di esempio

#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: '<

Produzione:

Output - Gestione delle eccezioni in C ++ - Edureka

Spiegazione

Questo programma dimostra la gestione delle eccezioni. Abbiamo una variabile x, a cui è assegnato un valore di 1. Quindi abbiamo l'inizio del blocco try. In questo blocco, abbiamo un'istruzione if con la condizione x<10.

Nel nostro caso, la condizione è vera poiché x è uno. Il programma quindi genera un'eccezione e il controllo si sposta per intercettare il blocco. Eseguiamo la condizione in catch part ed usciamo dal blocco.

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

Infine, eseguiamo le istruzioni rimanenti dopo il blocco catch e il programma di uscita.

Possono esserci più dichiarazioni di cattura, a seconda del numero di possibili eccezioni.

Andando avanti con questo articolo sulla gestione delle eccezioni in C ++,

Cattura blocco fallito

Considera il programma precedente, se invece di x la parola chiave throw lancia 'ABC', la funzione catch non sarà in grado di gestirlo. Mostrerà un errore,

In tal caso, possiamo visualizzare il messaggio di errore vinto.

Per risolvere questo problema, dobbiamo aggiungere una funzione di cattura predefinita al codice per gestire tali problemi.

#include usando lo spazio dei nomi std int main () {int x = 1 try {cout<< 'Try Block: '<

Uscita:

Spiegazione:

Questo codice è simile al precedente. L'unico cambiamento è che l'eccezione generata è di tipo char. Ciò si traduce nella nostra funzione di cattura che è inutile. Quindi abbiamo incluso una funzione di cattura predefinita.

Se nessuna delle istruzioni catch corrisponde, viene eseguita la cattura predefinita.

Blocchi multipli di cattura

Possono esserci più blocchi catch di un singolo blocco try.

Ecco un esempio,

#include usando lo spazio dei nomi std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Produzione:

Spiegazione:

Nel codice sopra, usiamo più istruzioni catch. Abbiamo un test di funzione che genera un'eccezione. Nel primo caso di test, il valore è 10. Poiché 10 è maggiore di zero, 'a' il carattere viene lanciato e viene catturato dalla seconda funzione di cattura.

Nel secondo caso, il valore è minore di 0, quindi viene lanciato il valore -1 e viene intercettato dall'eccezione intera

Gestione delle eccezioni nella classe base e derivata:

Se vengono rilevate le eccezioni della classe base e derivata, è necessario eseguire la cattura della classe derivata prima della classe base.

Ecco alcune eccezioni:

Con questo arriviamo alla fine di questo blog sulla 'Gestione delle eccezioni in C ++'. Spero che tu l'abbia trovato utile e informativo, resta sintonizzato per ulteriori tutorial su argomenti simili. Puoi anche controllare il nostro programma di formazione tPer ottenere una conoscenza approfondita di jQuery e delle sue varie applicazioni, puoi farlo per la formazione online dal vivo con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.

Hai domande per noi? Menzionateli nella sezione commenti di questo blog e vi risponderemo.