title: MS sql 2008 try catch still throws exception
body: <p>I worried all day.
  My label is very big -  '20317302009001'. 
  Zlecenie is int column - so sql generates error when compare zlecenie=@label.
  I tried to catch it, but still get message: </p>
  
  <blockquote>
    <p>Msg 248, Level 16, State 1, Procedure label_check, Line 9
    The conversion of the varchar value '20317302009001' overflowed an int column.
    Who knows the answer?
    Thank you!</p>
  </blockquote>
  
  <pre><code>begin TRY 
  if (@komponent is null) and ISNUMERIC(@label)=1  
   begin
    set @komponent=null
     if exists(select * from Rejestr_zuzycia_tkaniny where zlecenie=@label)
       begin
        declare @program int;
        select @program=program from Rejestr_zuzycia_tkaniny where zlecenie=@label
        select @komponent=komponent from Komponenty_programu where program=@program
       end;
   end; 
  end TRY
  begin CATCH
   set @komponent=null
  end CATCH
  </code></pre>