Qual è la differenza tra raise_application_error e pragma exception_init?
EXCEPTION_INIT Pragma. Il pragma EXCEPTION_INIT associa un nome di eccezione a un numero di errore Oracle. Potete intercettare qualsiasi errore ORA e scrivere un gestore specifico per esso invece di usare il gestore OTHERS. ... Potete usare EXCEPTION_INIT nella parte dichiarativa di qualsiasi blocco PL/SQL, sottoprogramma o pacchetto.
E
Il
raise_application_error
è effettivamente una procedura definita da Oracle che permette allo sviluppatore di sollevare un'eccezione e associare un numero di errore e un messaggio alla procedura. Questo permette all'applicazione di sollevare errori di applicazione piuttosto che solo errori Oracle. I numeri di errore sono definiti tra -20.000 e -20.999.
Oracle fornisce la procedura raise_application_error per permettervi di sollevare numeri di errore personalizzati all'interno delle vostre applicazioni. Potete generare errori e il loro testo associato iniziando da -20000 e procedendo fino a -20999 (un totale di 1.000 numeri di errore che potete usare).
Di seguito illustriamo l'uso della procedura raise_application_error.
Utilizzando la procedura raise_application_error:
DECLARE
Balance integer := 24;
BEGIN
IF (nBalance <= 100) THEN
Raise_Application_Error (-20343, 'The balance is too low.');
FINE IF;
FINE;
In questo esempio, l'errore numero -20343 viene sollevato se il valore di nBalance è't maggiore di 100, producendo un messaggio simile a questo:
ORA-20343: Il saldo è troppo basso.
Articoli simili
- Qual è la differenza tra il Bluetooth di Android e iPhone? Perché non siamo in grado di trasferire file tra di loro?
- La differenza tra 9 e 45 punti di messa a fuoco (Canon 800d Vs. Canon 200d) fa una grande differenza nelle DSLR?
- Qual è la differenza tra le dichiarazioni switch e if else? Qual è meglio in casi diversi? Perché?
- Qual è la differenza tra una risoluzione 1920x1200 e 1920x1080? Qual è meglio?