1 Create proc ProcName(
2 --传入参数
3 @parametername varchar(60),
4 --输出参数
5 @outflag varchar(1000) out
6 )
7 as
8 BEGIN
9 SET NOCOUNT ON;
10 BEGIN TRY---------------------开始捕捉异常
11 BEGIN TRAN------------------开始事务
12 print '逻辑程序'
13 COMMIT TRAN -------提交事务
14 END TRY-----------结束捕捉异常
15 BEGIN CATCH------------有异常被捕获
16 IF @@TRANCOUNT > 0---------------判断有没有事务
17 BEGIN
18 ROLLBACK TRAN----------回滚事务
19 set @outflag = '错误代码:'+convert(varchar(60),ERROR_NUMBER())+';错误描述:'+convert(nvarchar(2000),ERROR_MESSAGE())
20 END
21 --INSERT INTO LogTable values(ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_PROCEDURE(), ERROR_LINE() ,ERROR_MESSAGE())
22 END CATCH--------结束异常处理
23 END