34. SQL SERVER EXCEPTION HANDLING | RAISE ERROR | THROW

Опубликовано: 29 Март 2026
на канале: Tech2BI
106
2

In this class we are discussing about where and when we use RAISERROR and THROW

https://drive.google.com/drive/u/2/fo...

-- THROW AND RAISEERROR Both statements can be used to generates custom errors

--syntax for THROW

--THROW [Error_number,message,state];

BEGIN TRY
select 1/0
END TRY
BEGIN CATCH
THROW 50000,'divide by error',1;
END CATCH;

--SELECT * FROM master.dbo.sysmessages where description like '%zero%'

-- RAISEERROR

BEGIN TRY
IF(1=1)
RAISERROR('SOME ERROR',11,1)
END TRY

BEGIN CATCH

DECLARE @ErrorMessage VARCHAR(MAX),
@ErrorSeverity int,
@ErrorState INT

select @ErrorMessage =ERROR_MESSAGE(),
@ErrorSeverity =ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();


RAISERROR(@ErrorMessage,@ErrorSeverity,@ErrorState);

END CATCH;


--------------------------------------


-- select * from master.dbo.UserDetails


CREATE PROC dbo.USERDETAILS @UserName VARCHAR(MAX)

AS

BEGIN TRY

IF (SELECT COUNT(1) FROM master.dbo.UserDetails WHERE UName= @UserName)=0
RAISERROR ('user Doesnt Exists.',11,1)

--INSERT INTO SalesData

END TRy
BEGIN CATCH

DECLARE @ErrorMessage VARCHAR(MAX),
@ErrorSeverity int,
@ErrorState INT

select @ErrorMessage =ERROR_MESSAGE(),
@ErrorSeverity =ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();


INSERT INTO dbo.DB_Errors values (suser_name(),ERROR_NUMBER(),ERROR_STATE(),ERROR_SEVERITY(),ERROR_LINE(),ERROR_PROCEDURE(),ERROR_MESSAGE(),GETDATE())

RAISERROR(@ErrorMessage,@ErrorSeverity,@ErrorState);
end catch

EXEC dbo.USERDETAILS 'lALITHA'

SELECT * FROM DB_Errors

#sqlserver #database #dataanalytics #dbms #views #sql #tech2bi #exceptionhandling #try #catch #errorhandling#RAISEError#tech2bi