加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#尝试抓住混乱

发布时间:2020-12-15 07:59:57 所属栏目:百科 来源:网络整理
导读:我对C#很新. 当我尝试捕捉这样的东西时: try{ connection.Open(); command.ExecuteNonQuery();}catch(SqlException ex){ MessageBox.Show("there was an issue!");} 我如何知道Open或ExecuteNonQuery是否出现问题? 如果我在Try中调用了一堆其他非SQL内容怎
我对C#很新.

当我尝试捕捉这样的东西时:

try
{
    connection.Open();
    command.ExecuteNonQuery();
}
catch(SqlException ex)
{
    MessageBox.Show("there was an issue!");
}

我如何知道Open或ExecuteNonQuery是否出现问题?
如果我在Try中调用了一堆其他非SQL内容怎么办?
我怎么知道哪个失败了?
SqlException对常规异常的意义是什么?
如果我在Try块中有这样的代码,SqlException将如何处理非SQL相关的错误?

解决方法

您可以在try块后添加多个catch
try
{
    connection.Open();
    command.ExecuteNonQuery();
}
catch(SqlException ex)
{
    MessageBox.Show("there was an issue!");
}
catch(Exception ex)
{
    MessageBox.Show("there was another issue!");
}

这里有一个重要的规则来捕捉更高的特定异常和更低级的更普遍的异常

如果我在TRY中调用了一堆其他非SQL内容怎么办?
我怎么知道哪个失败了?

这将基于操作引发的异常.就像我说的那样,首先捕捉最具体的例外情况,然后在下降时更加通用.我建议您查看MSDN文档,了解您认为可能引发异常的方法.本文档详细说明了在哪些情况下方法抛出的异常.

SQLEXCEPTION对常规EXCEPTION的意义是什么?

SQLException是普通Exception类的扩展,仅在某些情况下抛出.

SqlException

如果我在TRY块中有这样的代码,SQLEXCEPTION如何处理非SQL相关的错误?

因此,要回答您的问题,您设置的块将不会捕获任何不是SQLException或扩展SQLException的异常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读