Trattamento di eccezioni in CPP |
|
|
Concetto di maneggiamento dell'eccezione
|
Il concetto di trattamento di eccezioni è molto semplice. L'idea di base è semplicemente alzare una bandierina di errore quando qualcosa va male. Dopo, ci è un sistema che sempre allerta per i questi bandierina di errore. per concludere, il sistema precedente denomina un codice di trattamento degli errori se una bandierina di errore è macchiata.
|
Il flusso di programma che alza una bandierina immaginaria di errore è denominato gettare su un errore. Quando l'errore è gettato il sistema generale risponderà interferendo un errore. Circondando il blocco del codice errore-sensibile con un trattamento di eccezioni è denominato provare ad eseguire il blocco del codice.
|
Le caratteristiche più potenti del trattamento di eccezioni è, un errore possono essere gettate sopra i contorni di funzione. Significa che se uno dell'funzioni più profonde su una pila ha errore, questo può essere propag ad una funzione superiore se ci è prov-ostruisce di un codice là. Ciò permetterà che i programmatori mettano un codice di trattamento degli errori in un posto, come la principale-funzione del programma.
|
Trattamento di eccezioni di C++
|
Progettisti del linguaggio di programmazione di C++, estesi la lingua con le strutture di trattamento di eccezioni. Gli ordini che sono usati collegano strettamente ai termini usati nel trattamento di eccezioni (come precedentemente descritto). Blocco del codice che desiderate per provare gli inizio specificando un ordine “di prova„ e circondando un blocco con i sostegni ricci. All'interno di questo blocco, siete permessi gettare gli errori d'avvenimento con un ordine “del tiro„. Dovreste specificare l'errore e questo deve essere un codice categoria. Dopo che prov-ostruire sia stato chiuso, interfer-ostruiscano inizi. Ciò è illustrata nel codice qui sotto.
|
try
{
...
...
throw Exception()
...
...
}
catch( Exception e )
{
...
...
}
|
|
Qui l'eccezione è il codice categoria definito con il costruttore senza i parametri passato. Sarà utile avere l'Info su che tipo di errore ha accaduto. Ciò può essere fatta con due metodi. Uno può definire i eccezione-codici categoria differenti ed allora gettarlo secondo l'errore accaduto. O può dare un parametro di codice categoria contenere il messaggio di errore e permettere che un codice categoria visualizzi il messaggio.
|
Sistema di trattamento di eccezioni
|
Un codice categoria che stiamo circa per progettare dovrebbe dovere memorizzare le informazioni su un errore che ha accaduto e su un codice categoria dovrebbe potere visualizzare il messaggio di errore. Il codice seguente mostra questa funzionalità.
|
class CException
{
public:
char* message;
CException( char* m )
{
message = m
};
Report();
}
|
|
Keywords Exception Handling, exception source, exception errors, exception table, exception package,
database handling, exception xml, string exception, exception message, exception catching,
exception net, exception error, thread handling, client handling, try exception,
exception handler, exception finally, error handling, thread exception, xml handling,
exception form, function exception, string handling, exception vb, exception code,
exception object, form handling, exception raise, session handling, exception example,
message handling
|