区分Sybase异常类型

时间:2011-09-20 08:44:39

标签: c# exception sybase

我需要根据错误代码的范围来区分sybase异常类型。

基本上我需要区分sybase系统相关的异常和数据异常。

我有c#代码来处理sybase数据库异常。

我们在异常中获取错误代码但我不知道定义错误代码是sybase系统异常而不是数据异常的范围。

我需要以不同的方式处理这两个异常。

有人可以帮忙解决这个问题。

复制以下代码。

using System.Data.Common;

int Range1 = 0;
int Range2 = 2000;
try
{
   // Sybase data base operation 
}
catch (DbException e)
            {
  // Sybase system exception like database space not availabe , Time out error 
                if(e.ErrorCode > Range1  && e.ErrorCode< Range2)
                {
                    // This is system excpetion so dump the data to be reprocessed after database is up . 
                }
                // Excpetions like referential integrity violation , value is more than max length 
                else
                {
                    // This is data releted exception so Don't process this data again as the data itself is wrong 
                }
}

1 个答案:

答案 0 :(得分:0)

由于Sybase使用的错误编号小于2000,因此我们选择使用大于3000的数字。您可以使用raiserror函数控制返回的错误代码。是的,这不是拼写错误。

注意:Sybase具有许多功能,试图通过消除重复字符来保存击键。在这种情况下,Sybase不允许双重“e”,但留下了双“r”。哦,好吧。

好的SQL,晚安。