title: @@ERROR and/or TRY - CATCH
body: <p>Will Try-Catch capture all errors that @@ERROR can?  In the following code fragment, is it worthwhile to check for @@ERROR?  Will RETURN 1111 ever occur?</p>
  
  <pre><code>SET XACT_ABORT ON
  BEGIN TRANSACTION
  
  BEGIN TRY
      --do sql command here  &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;
  
      SELECT @Error=@@ERROR
      IF @Error!=0
      BEGIN
          IF XACT_STATE()!=0
          BEGIN
              ROLLBACK TRANSACTION
          END
          RETURN 1111
      END
  
  END TRY
  BEGIN CATCH
  
      IF XACT_STATE()!=0
      BEGIN
          ROLLBACK TRANSACTION
      END
      RETURN 2222
  
  END CATCH
  
  IF XACT_STATE()=1
  BEGIN
      COMMIT
  END
  
  RETURN 0
  </code></pre>