为什么空渔获物块是个坏主意?

为什么空渔获物块是个坏主意?

我刚看到一个试捕问题,哪些人(包括乔恩·斯基特)认为空渔获物块是一个非常糟糕的主意?为什么要这样?有没有一种情况下,一个空的捕获不是一个错误的设计决策?

我的意思是,例如,有时候你想从某个地方(webservice,数据库)获得一些额外的信息,而你真的不在乎你是否会得到这些信息。所以你试着得到它,如果有什么事情发生,没关系,我只会添加一个“CATCH(异常被忽略){}”,仅此而已。


一只斗牛犬
浏览 510回答 3
3回答

慕慕森

他们是个坏主意总体而言因为这是一种非常罕见的情况,在这种情况下,失败(更一般地说是例外情况)没有得到任何反应。在上面,空荡荡的catch块是使用异常引擎进行错误检查的人应该先发制人使用的一种常见工具。说这是.总坏是假的.很少是这样的。在某些情况下,您可能不关心是否存在错误,或者错误的存在某种程度上表明您无法对其做任何事情(例如,当您将以前的错误写入文本日志文件时,您将得到一个IOException,这意味着您无论如何都无法写出新的错误)。

跃然一笑

我不会说谁使用空的CATCH块是一个糟糕的程序员,也不知道他在做什么…如果有必要,我会使用空的CATCH块。有时,我所消费的库程序员不知道他在做什么,甚至在没有人需要的情况下也会抛出异常。例如,考虑一些http服务器库,我不太关心服务器是否抛出异常,因为客户端已经断开连接,并且index.html不能派人去。
打开App,查看更多内容
随时随地看视频慕课网APP