C#尝试抓住混乱

我对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的异常.

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么