The Error Message

When dealing with errors, it’s often necessary to log, or pass on errors to your users. In either case, you’ve already seen how to trap the ERROR_NUMBER. This time I’ll show you how to get the ERROR_MESSAGE.

The ERROR_MESSAGE function takes no argument and it returns a string.

BEGIN TRY
	DECLARE @Number TINYINT,
	        @Result TINYINT;
	SET @Number = 252;
	SET @Result = @Number + 20;
	SELECT @Number AS Number, @Result AS Result;
END TRY
BEGIN CATCH
	PRINT ERROR_MESSAGE()
END CATCH

This would produce:

Arithmetic overflow error for data type tinyint, value = 272.

As a programmer, you probably have a good idea of what an overflow error is, and what a TINYINT is.

Unfortunately, this message may not be very clear to a regular user. That’s why I usually LOG the ERROR_MESSAGE(), but display a friendlier message to the end user.

This would look something like the following

BEGIN TRY
    DECLARE @Number TINYINT,
	    @Result TINYINT;
    SET @Number = 252;
    SET @Result = @Number + 20;
    SELECT @Number AS Number, @Result AS Result;
END TRY
BEGIN CATCH
    PRINT N'There was a problem adding 20 to your number.  Please notify your support contact.'
	--I'm assuming I have a stored procedure to write the message to the log
	sp_writeToLog ERROR_MESSAGE()
END CATCH
GO

It’s pretty simple to handle the errors, it’s only difficult in identifying where you might have errors. It’s a skill you learn as you grow. If you have any questions, send them in. I’m here to help!

Tags:

No comments yet.

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.