I am using SQL Server 2008 and when I run this Statement in Management studio the Select statement in the Catch Block is executed as expected
BEGIN TRY INSE
Workaround with dynamic sql. Maybe it will be helpful for someone.
begin try exec(' insert into IDontExist(ProductID) values(1) ') end try begin catch select 'There was an error! ' + error_message() end catch