首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Exception.Data population bug?

Exception.Data population bug?
EN

Stack Overflow用户
提问于 2010-03-17 04:19:33
回答 2查看 100关注 0票数 0

以下是我的代码的相关部分:

代码语言:javascript
复制
    adapter.Fill(table);

    return;
}
catch(Exception ex)
{
    SqlException sqlEx = ex as SqlException;

我有一个由adapter.Fill()抛出的异常,当我将断点放在异常处理程序的第一行时,Exception.Data属性已经包含了我的应用程序所独有的键。

问题是,它并不是每次都会发生,而只是当这个异常在最后一次抛出的大约2秒内被抛出时才会发生。

解释一下!!

EN

回答 2

Stack Overflow用户

发布于 2010-03-17 05:17:17

根据您引用的错误,我假设您使用的SQL连接信息不正确,或者密码已过期。检查您的连接并在您的环境之外进行测试。

如果您使用的是集成安全性,则可能是未将用户添加到SQL Server安全性,或者用户没有访问数据库的权限。在SQl Server安全性中,有两个步骤:首先将用户作为有效登录添加到SQL Server,然后授予该用户对数据库的访问权限。

票数 0
EN

Stack Overflow用户

发布于 2011-05-16 14:42:19

page上有一条评论,听起来可能与您所看到的内容有关。

用户(TWheelhouse)说:

从表面上看,某些.NET框架功能试图重用异常的实例,导致添加到'Data‘集合中的标志似乎已被设置,而这些标志实际上只是在抛出异常并添加标志时出现的……

代码语言:javascript
复制
public static void foo(string connectionString) {
  try {
    SqlConnection cn = new SqlConnection (connectionString);
    cn.Open();
  }
  catch (SqlException ex) {
    if (ex.Data.Contains("MY_TEST_FLAG"))
      Debug.WriteLine("BAD! It Shouldn't be there yet!");
    else
      Debug.WriteLine("Fine.");

    ex.Data.Add("MY_TEST_FLAG", true);
  }
}

使用格式有效但UID值可能错误的连接字符串多次调用foo()。你第一次打电话给FOO的时候,我得到的是“Fine”当错误的连接字符串导致连接对象抛出SqlException时,我会收到一条消息,但每次之后,我都会得到" bad !“消息(有一段时间,最终我会再次收到一条“好”的消息,一次,然后是更多的“坏!”消息)。

如果每次我尝试使用错误的连接字符串创建SqlConnection时,都会导致抛出完全唯一的SqlException实例,那么每次我都会收到"Fine“消息!

我自己没有重复这个问题,也没有尝试运行上面的代码,但它似乎与您报告的问题有关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2457807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档