Come gestire facilmente le eccezioni in C++

Come Gestire Facilmente Le Eccezioni In C



Gli eventi imprevisti che si verificano durante l'esecuzione del programma vengono definiti eccezioni o errori. Le eccezioni si verificano durante il runtime e non possono essere rilevate durante la compilazione, quindi potrebbero causare seri problemi nel programma. Gestire bene le eccezioni in un programma C++ è un obiettivo primario per un programmatore per ottenere i risultati desiderati.

Come gestire facilmente le eccezioni in C++

La gestione delle eccezioni in C++ si riferisce al meccanismo di rilevamento degli errori di runtime e di gestione degli stessi in modo efficiente, come la gestione di input non validi, la divisione di un numero per zero nelle operazioni di divisione e molto altro.

La gestione delle eccezioni in C++ prevede tre parole chiave: try, Throw e catch. L'istruzione try consente all'utente di definire il blocco di codice che potrebbe sollevare un'eccezione nel codice. La parola chiave Throw genera un'eccezione se rilevata dopo aver controllato il blocco sotto la parola chiave try. La parola chiave catch contiene il blocco di codice in grado di gestire l'eccezione osservata nel blocco try.







Esempio 1: gestione delle eccezioni durante la divisione

Il codice è scritto per controllare le eccezioni durante la divisione.



#include
utilizzando spazio dei nomi standard ;

int principale ( ) {

Doppio numeratore, denominatore, divisione ;

cout << 'Inserisci un valore numeratore: ' ;
mangiare >> numeratore ;

cout <> denominatore ;

Tentativo {


Se ( denominatore == 0 )
gettare 0 ;


divisione = numeratore / denominatore ;
cout << numeratore << '/' << denominatore << ' = ' << divisione << fine ;
}

presa ( int num_eccezione ) {
cout << 'Errore! Il divisore non può essere  ' << num_eccezione << fine ;
}

ritorno 0 ;
}

In questo programma, l'utente inserisce il valore del numeratore e del denominatore dichiarati nella sezione main(). Nel blocco try, viene utilizzata un'istruzione if per verificare l'eccezione, ovvero se il denominatore è zero o meno. Poiché la divisione non può essere eseguita con un divisore zero se il denominatore risulta essere 0, verrà generata un'eccezione e il blocco catch restituirà un argomento di errore altrimenti viene eseguita l'operazione di divisione semplice.







L'utente inserisce un numeratore 42 e uno 0 nel denominatore, che genera un'eccezione, quindi il programma restituisce l'argomento errore.



L'utente inserisce un numeratore 42 e 2 come denominatore, poiché non è stata trovata alcuna eccezione, viene restituito il risultato dopo la divisione.

Esempio 2 Gestione delle eccezioni per verificare l'età

Questo programma controlla le eccezioni relative all'età dell'utente.

#include
utilizzando spazio dei nomi standard ;

/*
Qui, vogliamo lanciare un'eccezione (età come eccezione) se l'età della persona è inferiore a 18 anni.
*/

int principale ( )
{
// controlla se l'età è superiore a 18 anni nel blocco try.
Tentativo
{
int età ;
cout << 'Inserisci la tua età per accedere: ' ;
mangiare >> età ;

Se ( età >= 18 )
{
cout << 'Accesso garantito.' ;
}
// viene lanciata un'eccezione personalizzata se l'età è inferiore a 18 anni.
altro
{
gettare ( età ) ;
}
}
// rileva l'eccezione generata e visualizza l'output desiderato (accesso negato!)
presa ( int X )
{
cout << 'Accesso negato! Sei minorenne.' << fine ;
}
ritorno 0 ;
}

In questo programma viene definita una variabile con un valore intero. All'utente viene chiesto di inserire l'età e provare a controllare i blocchi se l'età dell'utente è superiore o uguale a 18 anni. Se non è vera, viene generata un'eccezione e il blocco dell'eccezione restituirà Accesso negato! Discussione. In caso contrario, l'accesso verrà concesso.

L'utente inserisce l'età di 12 anni per verificare la concessione dell'accesso, poiché questa età è inferiore a 18 anni, quindi viene restituito l'argomento Accesso negato.

L'utente inserisce l'età di 20 anni, poiché è superiore a 18 anni, quindi l'accesso è concesso all'utente.

Nota : Se nel programma non è presente alcun blocco catch, il programma si comporterà in modo anomalo e terminerà in modo imprevisto in caso di eccezioni.

Conclusione

La gestione delle eccezioni in C++ si riferisce al meccanismo di rilevamento degli errori di runtime e di gestione degli stessi in modo efficiente. Implica tre parole chiave: provare, lanciare e catturare. L'eccezione viene controllata per il codice nel blocco try, la parola chiave launch lancia l'eccezione se trovata e il blocco catch gestisce l'eccezione lanciata per il blocco try. La gestione delle eccezioni rende l'esperienza utente fluida e ottimale evitando errori di runtime.