抓住并继续?C#

I l*_*ode 3 c#

是一个寻求简单答案的简单问题。不需要代码作为演示。当我调用一个函数时,它返回一个异常并且整个函数停止。如何忽略异常并继续该功能?

Del*_*ics 5

您不能忽略异常。

如果您没有捕获它,那么异常将传播到调用堆栈,直到有人捕获并处理它,或者它到达调用堆栈的顶部并且您的程序停止。

为了避免这种情况,您只需捕获异常并决定如何处理它。如果处理它意味着什么都不做,那么简单......当你捕获异常时什么都不做:

try
{
    SomeFnWhichThrowsAnException();
}
catch
{
    // NO-OP
}
Run Code Online (Sandbox Code Playgroud)

// NO-OP(短的“无操作”)的评论是一个指标我用它来表示该异常的“处理”是刻意做什么,以避免任何人在将来读徐代码和解释方面的任何潜在误解一个空的 catch 块作为错误或疏忽。

应该提到的是,即使有评论和“很好的理由”对异常不做任何反应,这也是高度可疑的,并且是非常糟糕的代码味道。

专门忽略非常具体的异常或仅在特定情况下这样做可能更常见,但忽略所有可能的异常是非常不可取的(考虑到这将包括堆栈溢出或内存不足等异常)。