gpt4 book ai didi

exception - Sybase存储过程异常处理

转载 作者:行者123 更新时间:2023-12-04 01:30:26 27 4
gpt4 key购买 nike

我是 sybase 的新手。经过一番研究后,我开始知道以下是在 sybase 存储过程中处理错误/异常的正确方法。

CREATE PROCEDURE dbo.sp_testErrorHandling (@age varchar(20))
AS
BEGIN
DECLARE @myerr int

BEGIN TRANSACTION mytrans

DELETE FROM TestStoredProc where Name='Z'
IF @@error<>0 BEGIN SELECT @myerr=@@error GOTO failed END

DECLARE @result int
EXECUTE @result = 5/0 /* throws an exception */
IF @@error<>0 BEGIN SELECT @myerr=@@error GOTO failed END

COMMIT TRANSACTION mytrans
RETURN 0

failed:
ROLLBACK TRANSACTION mytrans
return @myerr

END

我想,这个存储过程会返回异常除零对应的错误代码。但实际上它正在抛出异常。请帮助我理解这种行为。问候,阿尼类阿尼类

最佳答案

为了能够更好地捕获/处理“被零除”错误,您必须为 Sybase 服务器中的 arithignore arith_overflow 系统选项设置适当的值。 Sybase 联机手册中有一些很好的文档,网址为:

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc32300.1550/html/sqlug/X47118.htm

关于exception - Sybase存储过程异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23933273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com