C#忽略异常的最佳方式

Joh*_*ann 12 c# exception

可能重复:
在C#中忽略异常

有时在极少数情况下你真的想忽略异常.做这个的最好方式是什么?我的方法是抓住异常,但不做任何事情.其他?

                        try
                        {
                            blah
                        }
                        catch (Exception e)
                        {
                            <nothing here>
                        }
Run Code Online (Sandbox Code Playgroud)

JG *_* SD 25

如果您要捕获,不处理异常,并忽略它,您可以稍微简化一下.

try
{
   // code
}
catch
{ }
Run Code Online (Sandbox Code Playgroud)

以上是针对任何例外情况,如果您只想忽略某个异常但让其他异常消失,则可以执行此操作

try
{
   // code
}
catch (SpecificException)
{ }
Run Code Online (Sandbox Code Playgroud)

如果你确实忽略了这样的异常,最好在catch块中包含一些注释,以便你忽略这样的异常.

  • 在几种情况下,您会吃掉(忽略)异常。例如,您不希望您的日志记录框架抛出阻止业务功能正常工作的异常。基本上,您不希望您的主要任务失败是因为可选的非必需代码可能存在问题。 (2认同)

Lee*_*Lee 5

try
{
    DoBlah();
}
catch { }
Run Code Online (Sandbox Code Playgroud)

  • @Zarathos-问题不是关于“最佳实践”,而是关于吞噬异常。 (3认同)
  • 我要添加-在该空白`catch`块中添加注释,以解释*为什么*您忽略该异常。 (2认同)

I4V*_*I4V 5

可能是这样的

try
{
    //blah
}
catch{}
Run Code Online (Sandbox Code Playgroud)

如果你想忽略特定的异常

try
{
    //blah
}catch(YourException){}
Run Code Online (Sandbox Code Playgroud)