Fouten die optreden als gevolg van hercompilatie van batches na uitgestelde naamomzetting, kunnen niet worden opgevangen op hetzelfde niveau als waarop de fout optreedt. Een tijdelijke oplossing is om de DDL in dynamische SQL te verpakken:
BEGIN TRY
EXEC(N'ALTER TABLE [dbo].[my_table_name] ADD PRIMARY KEY ([id]);');
END TRY
BEGIN CATCH
IF ERROR_NUMBER() = 1779
BEGIN
--handle expected errors
PRINT 'Primary Key already exists. ';
END
ELSE
BEGIN
--raise other unexpected errors
THROW;
END;
END CATCH;