捕捉异常

本文关键字:异常 | 更新日期: 2023-09-27 18:05:58

我目前得到一个异常抛出,它给出的消息是值不落在预期范围内。我正试图纠正一段代码来抓住这个异常并抑制它-我知道问题是什么-本质上有人试图使用不存在的id从列表中提取记录。

你知道我该怎么做吗?

捕捉异常

要抑制异常,您需要做如下操作

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个月的时间里,当你忘记了为什么这样做的细节时,你自己)来说,准确地注释为什么要抑制异常也是很好的。如果我看到代码抑制了异常,我总是想知道为什么。

使用try catch块和空catch ?

如果你想更具体,你可以使用一个异常过滤器来捕获这种情况(当然是在c# 6中)。