Nella stesura di stored procedure, risulta spesso necessario gestire eventuali errori di esecuzione della stored stessa.
Il blocco di codice sql può essere racchiuso tra
BEGIN TRY
— Codice dalla stored per la quale si vuole gestire l’errore
END TRY
BEGIN CATCH
–GESTIONE ERRORE
END CATCH
Tra il blocco del catch è possibile catturare l’esatto messaggio dell’errore. Di seguito un breve esempio:
BEGIN TRY
-- supponiamo di avere una divisione per zero che causa errore
-- durante l'esecuzione della stored.
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
END CATCH;
Oppure possiamo concatenare tutte le informazioni in un’unica stringa, ovvero:
Continua la lettura “Cattura errore SQLServer – TRY CATCH – RAISERROR”

