我们的一个程序数据库要升级到2008版本,当我们用Microsoft SQL Server 2005 JDBC Driver 1.1的驱动时会提示数据库版本需要2000以后的,可是我们用的是2008的版本(应该是这个驱动不支持2008版本。这样的提示不合理,想重新写错误信息,但是catch到的exception没有error code,怎么做判断出的是这个错误呢?),用1.2的驱动就不会出错的

解决方案 »

  1.   

    try
    {
      // 操作数据库
    }
    catch (Exception e)
    {
      string s = string.Format("Type: {0}\r\nMessage: {1}", e.GetType(), e.Message); 
      MessageBox.Show(s); // 看看e的实际类型和错误信息是什么,再决定怎么处理。
    }
      

  2.   

    try
    {
      // 操作数据库
    }
    catch (Exception e)
    {
      if (e.GetType() == ... && e.Message 包含 ...)
      {
        throw new Exception("本驱动不支持SQL2008"); // 重新抛出明确的异常
      }
      else
      {
        throw e;  // 否则抛出原异常。
      }
    }
      

  3.   

    查出连接不成功时返回的错误编号,
    如果catch到此错误编号
    就输出你自己的信息!