这是一个简单的问题,寻求一个简单的答案。不需要代码作为演示。当我调用函数时,它返回异常并且整个函数停止。如何忽略异常并继续执行该功能?
您不能忽略异常。
如果您没有捕获它,那么异常将向上传播调用堆栈,直到有人捕获它并处理它,或者它到达调用堆栈的顶部并且您的程序停止。
为了避免这种情况,您只需捕获异常并决定如何处理它。如果处理它意味着什么都不做,那么当你捕获异常时,什么也不做:
try
{
SomeFnWhichThrowsAnException();
}
catch
{
// NO-OP
}
The // NO-OP
注释(短于“无操作”)是我用来指示异常的“处理”的指示符故意地什么也不做,以避免将来阅读 suh 代码的任何人产生任何潜在的误解,并将空的 catch 块解释为错误或疏忽。
应该提到的是,即使有注释和“充分的理由”不采取任何措施来响应异常,这也是高度可疑的,并且是非常糟糕的代码味道。
更常见的是专门忽略非常具体的异常或仅在特定情况下这样做,但忽略每一个可能的例外非常不可取(考虑到这将包括堆栈溢出或内存不足情况等异常)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)