Gli errori sono inevitabili quando si tratta di sviluppi. È quindi un buon piano per assicurarti di implementare alcune misure in modo che gli errori non rompano la funzionalità dell'applicazione.
SQL Server ci consente di utilizzare l'istruzione Throw per aumentare un'eccezione. Trasferiamo quindi il contesto di esecuzione su un blocco di prova per gestire l'errore.
Sintassi
Il seguente frammento di codice mostra la sintassi per l'istruzione di lancio:
Lancia [errore_numer,Gli argomenti nella sintassi forniti includono quanto segue:
Nota: qualsiasi affermazione prima di una clausola di lancio deve essere chiusa con un punto e virgola. Il server SQL richiede anche che il tiro includa gli argomenti precedenti. Se l'istruzione Throw non ha gli argomenti precedenti, deve essere racchiusa all'interno di un blocco di prova/cattura.
La sintassi è la seguente:
Inizia provaNon è possibile utilizzare il carattere % nel parametro ERROR_MESSAGE. Questo perché è un personaggio riservato. Se è necessario includere il carattere%nel tuo messaggio di errore, assicurati di sfuggirlo avendo i caratteri a doppia percentuale (%%).
Esempi di istruzione SQL Server Throve
Diamo un'occhiata ad alcuni esempi della dichiarazione di lancio in azione.
SQL Server utilizzando l'istruzione Throw per lanciare un'eccezione
L'esempio seguente dimostra l'utilizzo dell'istruzione Throw per aumentare un'eccezione:
lancia 50001, '[fail] - il valore richiesto non viene trovato.', 1;In questo esempio, utilizziamo l'istruzione Throw per aumentare un'eccezione con il codice di errore 50001 e lo stato di 1.
L'output risultante è il seguente:
Errore SQL [50001] [S0001]: [Fail] - Il valore richiesto non viene trovato.SQL Server Resterà l'eccezione utilizzando l'istruzione Throw
Possiamo anche usare l'eccezione di lancio per recuperare l'ultima eccezione. Un codice di esempio è il seguente:
Drop tabella se esiste t;La query precedente dovrebbe stampare quanto segue:
errore catturatoUsando il formatMessage per lanciare un messaggio personalizzato
L'esempio seguente mostra come utilizzare la funzione formatMessage per lanciare un'eccezione con un messaggio personalizzato:
Sys Exec.Sp_addmessage @msgnum = 50001,In questo caso, la funzione FormatMessage ci consente di aggiungere i messaggi personalizzati, comprese le variabili. Ancora una volta, puoi controllare i documenti su SQL Server SP_ADDMessage () per saperne di più.
Il messaggio di errore risultante è il seguente:
Errore SQL [50001] [S0001]: un messaggio personalizzato che include variabile: 100Conclusione
Questo post ha discusso di come è possibile utilizzare la clausola di lancio nel server SQL per aumentare un'eccezione.
Grazie per aver letto!