• 5280_Lifestyle (8/13/2012)


    I'm trying to write an error handling query using the TRY...CATCH construct as a homework problem. I want to compare today's day to a variable @CurrentDay equal to a day of 24 and have it fail out of the TRY construct to the CATCH construct and print a message indicating the actual day.

    Is it possible to make my query work? If it is, what changes do I need to make my query work?

    DECLARE @CurrentDay AS INT = 24;

    BEGIN TRY

    SELECT @CurrentDay = DAY(CURRENT_TIMESTAMP)

    PRINT 'Today is the 24th day of the month';

    END TRY

    BEGIN CATCH

    PRINT 'Today is day number ' + DAY(CURRENT_TIMESTAMP) + ' of the month';

    END CATCH

    Nicholas

    If your homework isn't overdue yet, I suggest that you should investigate using an IF construct in your TRY block in conjunction with RAISERROR to generate an error of sufficient severity to initiate error handling (i.e., shift control to the CATCH block) when the date you are testing does not fall within the required value(s). That should get you started, but if you run into problems, post the code you've tried and we'll see what we can do.

    Jason Wolfkill