捕获异常

时间:2016-09-07 11:55:12

标签: c# exception-handling

我目前正在抛出异常并且它给出的消息是值不在预期范围内。我试图纠正一段代码以获取此异常并将其抑制 - 我知道问题是什么 - 基本上有人试图使用不存在的id从列表中提取记录。 / p>

我是如何抓住这个想法的?

2 个答案:

答案 0 :(得分:2)

要抑制异常,您需要执行类似的操作

try
{
     // Code that may throw an exception.
}
catch (Exception ex) // Better to use a more specific exception class
{
    // Do nothing - That suppresses the exception.

    // If you want to do additional checking that may continue the exception
    // up the stack use "throw" on its own - which compiled to CIL/MSIL's
    // "rethrow" and doesn't drop much of the information that would
    // go if you did "throw ex"
}

所有这些都是为了抑制异常。

为了那些必须保持这段代码的人的理智(或者你在6个月内忘记了为什么要这样做的具体细节),你也可以好好评论为什么要压制这个代码。例外。如果我看到代码抑制异常,我总是想知道原因。

答案 1 :(得分:0)

使用空try的{​​{1}} catch块?

如果你想要真正具体,你可以使用异常过滤器来捕捉那种情况(当然在c#6中)。