Costrutto Try e Catch in T-SQL
Link sponsorizzati
Come forse molti di voi sapranno il costrutto try catch è utilizzato per la gestione delle eccezione nella programmazione ad alto livello e consente al programmatore di implementare la gestione degli errori all’interno del proprio programma in maniera molto semplice.
Tempo fa ho scoperto che esiste una gestione analoga degli errori anche su SQL Server. Infatti è possibile inserire costrutti try catch all’interno del proprio codice T-SQL.
Link sponsorizzati
Questo costrutto intercetta gli errori che hanno una gravità maggiore di 10 che non determinano la chiusura della connessione al database ed esegue il blocco catch associato per gestire la situzione d’eccezione.
-- Generate a divide-by-zero error.
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;
GO
Questo costrutto può tornare utile all’interno delle proprie Stored Procedure per gestire una transazione (quindi effettuare un rollback nel caso di eccezione). Nella pagina MSDN associata è contemplato anche il caso d’esempio con le transazioni nonchè una descrizione dettagliata del costrutto.
Link sponsorizzati

