Gen 09 2013

Cattura errore SQLServer – TRY CATCH – RAISERROR

Category: VarieAntonio @ 10:45


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”