Dove si verifica l'eccezione
Ogni volta che eseguiamo qualsiasi software, prevediamo che il nostro software funzioni correttamente in qualsiasi situazione. Ma in alcuni casi, alcuni eventi si verificano quando viene fermato il normale flusso di esecuzione del nostro software. Quindi, quando diciamo che il nostro software deve essere robusto, significa che il software funziona correttamente in qualsiasi situazione.
La gestione delle eccezioni
La gestione delle eccezioni C ++ viene utilizzata per gestire sistematicamente la condizione di errore in un programma intraprendendo l'azione necessaria. Usando la gestione delle eccezioni, possiamo facilmente gestire e rispondere all'errore di runtime.
Prova, prendi, lancia
Sintassi
Tentativo
Catch (type1 arg)
Catch (type2 arg)
----------
Catch (typen arg)
Spiegazione
In primo luogo, usiamo per scrivere la parola chiave Tentativo. Dopo aver terminato il blocco di prova, dobbiamo scrivere presa blocca immediatamente. Possiamo scrivere più blocchi di cattura in sequenza. Ma dove provare il blocco end, tutti i blocchi di cattura devono essere scritti immediatamente. Se non scriviamo il blocco catch immediato dopo il blocco di prova, può verificarsi un errore. Noi usiamo gettare Parole chiave all'interno del blocco Try.
Esempio di programmazione 1
# includere
Utilizzo dello spazio dei nomi std;
int main ()
cout<< “ Exception Handling Program :” ;
Tentativo
lanciare 30;
cout<< “ \n Try ” ;
catch (int e)
cout<< “ \n Exception no : ” << e ;
cout<< “ \n Testing The Last Line ” ;
Produzione
Spiegazione della programmazione
In questo esempio di programmazione, stiamo cercando di mostrare come si verificano l'eccezione e come gestirla. All'interno della funzione principale dopo aver scritto un'istruzione di output che utilizziamo Tentativo bloccare. Gettare La parola chiave viene utilizzata all'interno del blocco prova. Dopo aver lanciato la parola chiave usiamo un numero 30. Può essere una stringa o un doppio o un galleggiante, qualsiasi costante che possiamo usare. Quindi scriviamo una dichiarazione Cout. Ma questa riga non può essere eseguita dopo l'esecuzione del tiro. Dopo aver terminato il blocco di prova, scriviamo immediatamente Catch Block. All'interno del blocco catch scriviamo la riga (int e). Con l'aiuto di lanciare parole chiave quale valore lanciamo, quel valore arriverà all'interno della variabile E. Dopo aver terminato il blocco catch, scriviamo un'istruzione di output "\ n testando l'ultima riga". Ora, la domanda è quando questa riga verrà eseguita dopo l'istruzione di output all'interno del blocco di cattura?
Regole di tentativo, cattura e blocco
Esempio di programmazione 2
# includere
Utilizzo dello spazio dei nomi std;
int main ()
cout<< “ Exception Handling Program :” ;
Tentativo
if (i == 1)
lanciare 1;
if (i == 2)
lanciare 2;
if (i == 3)
lanciare 3;
cout<< “ \n Try ” ;
catch (double e)
cout<< “ \n Exception no : ” << e ;
catch (int e)
cout<< “ \n Exception no : ” << e ;
cout<< “ \n Testing The Last Line ” ;
Produzione
F. Possiamo scrivere più dichiarazioni di tiro in un singolo blocco di prova.
Esempio di programmazione 3
# includere
Utilizzo dello spazio dei nomi std;
int main ()
int i = 3;
cout<< “ Exception Handling Program :” ;
Tentativo
if (i == 1)
lanciare 1;
if (i == 2)
lanciare 2;
if (i == 3)
lanciare 3;
cout<< “ \n Try ” ;
catch (int e)
cout<< “ \n Exception no : ” << e ;
cout<< “ \n Testing The Last Line ” ;
Produzione
G. Possiamo scrivere una dichiarazione di lancio all'interno di un blocco di prova senza dare alcun valore di lancio.
Esempio di programmazione 4
# includere
Utilizzo dello spazio dei nomi std;
int main ()
cout<< “ Exception Handling Program :” ;
int i = 3;
Tentativo
if (i == 3)
gettare ;
cout<< “ \n Try ” ;
catch (int)
cout<< “ \n Exception no : ” ;
cout<< “ \n Testing The Last Line ” ;
Produzione
Spiegazione
Qui scriviamo la parola chiave di lancio senza alcun valore, quindi il programma verrà terminato perché qui non si verifica una corretta gestione delle eccezioni. Di conseguenza, il blocco catch non verrà eseguito. In tempo di compilazione non ci saranno errori. Ma in tempo di esecuzione il programma verrà chiuso con un messaggio "terminare chiamato senza un'eccezione attiva".
Conclusione
Discutendo in dettaglio sulla gestione delle eccezioni, apprendiamo qui che se si verifica una situazione anormale nel nostro programma, il programma dovrà essere pronto a gestire questa situazione anormale.