try;
   用@@error试试
example  :
 
  insert into tablename  values('............') 
 if  @@error<>0   goto print1
  ...............................
print1:  
   print  '出现错误!!'

解决方案 »

  1.   

    在函数内不能使用 'PRINT'。
      

  2.   

    借用楼主宝地,一起问个同样的问题
    create function Cast2Time (@InputStr as nvarchar(128))
    returns datetime
    as 
    begin
    declare @ResultDatetime datetime
    set @InputStr = isnull(@InputStr,'2005-1-1')
    set @InputStr = replace(@InputStr,' ',' ')
    set @InputStr = replace(@InputStr,':',':')
    set @InputStr = replace(@InputStr,'-','-')
    set @InputStr = replace(@InputStr,';',':')
    set @InputStr = replace(@InputStr,';',':') set @ResultDatetime = cast(@InputStr as datetime)
    IF @@ERROR <> 0
       RAISERROR ('The Input String is %s.', 16, 1, @InputStr)
    RETURN @ResultDatetime
    end
    运行就出错,错误信息:
    服务器: 消息 443,级别 16,状态 2,过程 Cast2Time,行 16
    在函数内不正确地使用了 'RAISEERROR'。
      

  3.   

    我的目的只是想知道,送进去什么参数,导致函数报错,所以想把@InputStr打印出来。