The RAISERROR statement is used within procedures and triggers to generate an error. When this option is set to Off, the execution
of the procedure or trigger is stopped whenever the RAISERROR statement is encountered.
This option is ignored within the TRY block of a BEGIN...END statement.
If you set the continue_after_raiserror option to On, the RAISERROR statement no longer signals an execution-ending error.
Instead, the RAISERROR status code and message are stored and the most recent RAISERROR is returned when the procedure completes.
If the procedure that caused the RAISERROR was called from another procedure, the RAISERROR is not returned until the outermost
calling procedure ends.
Intermediate RAISERROR statuses and codes are lost after the procedure ends. If, at return time, an error occurs along with
the RAISERROR, then the information for the new error is returned and the RAISERROR information is lost. The application can
query intermediate RAISERROR statuses by examining the @@error global variable at different execution points.
The setting of the continue_after_raiserror option is used to control behavior following a RAISERROR statement only if the
on_tsql_error option is set to Conditional (the default). If you set the on_tsql_error option to Stop or Continue, the on_tsql_error
setting takes precedence over the continue_after_raiserror setting.