Following is code I used :-
IF (boolen condition)
BEGIN
BEGIN TRANSACTION tr
WHILE (@ld_FromDate <= @ld_ToDate)
BEGIN
SELECT @li_WeekDay = DATEPART(dw, @ld_FromDate)
IF SUBSTRING(@lv_ValidOn, @li_WeekDay, 1) = 'Y'
BEGIN
INSERT INTO Statement
IF @@ERROR <> 0
BEGIN
RAISERROR('Error', 16, 1);
ROLLBACK ...