Будет ли Try-Catch фиксировать все ошибки, которые могут возникнуть при @@ERROR? В следующем фрагменте кода стоит проверить на @@ERROR? Возникнет ли RETURN 1111?
SET XACT_ABORT ON
BEGIN TRANSACTION
BEGIN TRY
    --do sql command here  <<<<<<<<<<<
    SELECT @[email protected]@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
