Microsoft SQL Server Raising info messages in try catch block


Example

RAISERROR with severity (second parameter) less or equal to 10 will not throw exception.

BEGIN TRY
    print 'First statement';
    RAISERROR( 'Here is a problem!', 10, 15);
    print 'Second statement';
END TRY
BEGIN CATCH    
    print 'Error: ' + ERROR_MESSAGE();
END CATCH

After RAISERROR statement, third statement will be executed and CATCH block will not be invoked. Result of execution is:

First statement
Here is a problem!
Second statement