有时在罕见的情况下,你真的想忽略例外。做这个的最好方式是什么?我的方法是赶上例外,但不做任何事情。其他?
try
{
blah
}
catch (Exception e)
{
<nothing here>
}
有时在罕见的情况下,你真的想忽略例外。做这个的最好方式是什么?我的方法是赶上例外,但不做任何事情。其他?
try
{
blah
}
catch (Exception e)
{
<nothing here>
}
如果你要正好赶上,不处理异常,而忽视它,你可以简化你有什么咯。上述
try
{
// code
}
catch
{ }
为任何异常,如果你只是想忽略特定例外,但让别人泡出来的,你可以,如果你忽略了这样的例外做到这一点
try
{
// code
}
catch (SpecificException)
{ }
,它是最好在catch块中包含一些评论,说明为什么你忽略了这种异常。
作为一个经验丰富的开发人员,我发现这是在寻求麻烦。最终可能会出现一些不会一直发生的异常,因为沿线的某处不可重现,IGNORED是个例外。我想如果你不打算专门处理一个例外,那么你不应该接受它。调用方法可以捕获异常并决定要做什么。异常会传递到堆栈中。您可以重新抛出异常并添加一些注释,如“无法通过网络发送,+”ex.message ..以及调用函数可以捕获这个问题 –
有几种情况,您会吃(忽略)例外。例如,你不希望你的日志框架抛出异常,阻止你的业务功能正常工作。基本上,你不希望你的主要任务失败,只是因为在可选的非必要代码中可能存在问题。 – NoOneSpecial
try
{
DoBlah();
}
catch { }
我将添加 - 在空的catch块中添加注释以解释*为什么*您忽略了异常。 –
MS不鼓励MS最佳实践。 –
@Zarathos - 问题不在于'最佳实践',而是关于吞咽异常。 – Lee
这可能是这样的
try
{
//blah
}
catch{}
如果你想忽略一个特定的异常
try
{
//blah
}catch(YourException){}
这不会忽略异常。它会忽略所有的例外。 –
希望,你只是想忽略一个或几个特定的例外。忽略所有异常并不是一个好主意。 –
不例外。只是您想要忽略的特定例外的类型 –
我同意@BrianRasmussen。当你忽略例外情况时,请添加注释,解释为什么你忽略它。 –