QNA > Q > Qual È La Differenza Tra Raise_Application_Error E Pragma Exception_Init?

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.

Di Schweiker Rigsbee

Qual è la differenza tra i vari modelli di Saregama Carvaan (se esiste) e quale modello è il migliore? :: Donald Trump è davvero anti-musulmano?
Link utili