Costrutto Try e Catch in T-SQL

feb 13th, 2011 | Filed under Snippet, SQL, 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.

BEGIN TRY
    -- 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

Segnalalo ai tuoi amici!

Post correlati:

Non sono ancora stati lasciati commenti.