Eftersom en av dem är ett transact sql-kommando (try catch) och den andra är en DDL-sats.
Det är förmodligen bättre att du frågar efter om kolumnen finns innan du gör alter-satsen.
För att göra detta med MSSQL, se Hur kontrollerar man om en kolumn finns i en SQL Server-tabell?
Specifikt för ditt fall,
IF COL_LENGTH('nyork', 'Qtr') IS NULL
BEGIN
alter table nyork
add [Qtr] varchar(20)
END