Like other programming languages, T-SQL provides a sophisticated mechanism that captures and handles errors during execution. The mechanism for handling errors during execution includes the object-oriented-programming-style TRY…CATCH
construct. When writing Transact-SQL batches and programmable objects, we wrap the Transact-SQL statements to be executed within a TRY
block, and at runtime, if an error occurs, control is sent to the CATCH
block. We enclose error-handling code within the CATCH
block. The syntax for the TRY…CATCH
construct is as follows:
BEGIN TRY { sql_statement |statement_block} END TRY BEGIN CATCH [{ sql_statement |statement_block}] END CATCH
Only errors with severity between 11 and 19 cause the CATCH
block to execute. SQL Server treats errors with lower severity as informational messages. Errors with severity 20 or higher usually terminate the connection. If they do terminate the connection, SQL Server does not execute the Transact-SQL code within...