October 28
PL / SQL gestori di eccezioni sono blocchi di codice PL / programma di SQL che raccontano un programma che cosa fare quando un errore, noto anche come un'eccezione, si verifica durante la sua esecuzione. Senza un gestore di eccezioni, i programmi si fermava e richiedono l'intervento dell'utente o di creare altri messaggi di errore non correlati che riducono l'affidabilità e la leggibilità del programma.
Un'eccezione è un errore / SQL PL o avviso che interrompe il flusso di un programma o parte di codice. Tuttavia possono verificarsi quando un pezzo di codice rileva errori logici in aritmetica, come nella divisione per zero, o tramite codifica di istruzioni, come in overflow.
Ci sono due tipi di eccezioni in PL / SQL: eccezioni interne e definite dall'utente. eccezioni interne, che sono divisi in nome e senza nome, sono definiti e cresciuti senza l'intervento dell'utente da parte del sistema di database. eccezioni definite dall'utente devono essere esplicitamente definiti da un programmatore.
gestori di eccezioni sono pezzi di codice all'interno di un programma PL / SQL che intercettare e gestire potenziali problemi che possono verificarsi in fase di esecuzione. Il vantaggio nell'avere gestione delle eccezioni è che permette un programma per elaborare un errore senza avere un controllo programmatore quando un'interruzione accade. La gestione delle eccezioni migliora anche la leggibilità del programma e l'affidabilità, consentendo un programmatore di isolare porzioni problematici di codice PL / SQL e risolvere i problemi di conseguenza. Senza la gestione delle eccezioni, altri errori non correlati potrebbero verificarsi che la domanda più ricerca e tempo per correggere.
Un gestore di eccezioni cattura un errore interno utilizzando SQLCODE per intrappolare il numero di errore o il tipo e SQLERRM per visualizzare il messaggio di errore. I programmatori dichiarano gestori di eccezioni in un blocco separato di codice all'interno di un programma che di solito segue il seguente formato:
DICHIARARE
dichiarare l'eccezione qui;
INIZIO
Programma privacy o codice che può sollevare eccezioni;
ECCEZIONE
QUANDO POI exception1
statements to handle exception1;
QUANDO POI exception2
statements to handle exception2;
QUANDO POI exception3
statements to handle exception3;
FINE;