Karena salah satunya adalah perintah transact sql (the try catch) dan yang lainnya adalah pernyataan DDL.
Anda mungkin sebaiknya melakukan kueri untuk melihat apakah kolom tersebut ada sebelum melakukan pernyataan perubahan.
Untuk melakukannya dengan MSSQL, lihat Bagaimana cara memeriksa apakah ada kolom di tabel SQL Server?
Khusus untuk kasus Anda,
IF COL_LENGTH('nyork', 'Qtr') IS NULL
BEGIN
alter table nyork
add [Qtr] varchar(20)
END