2012-09-19 27 views
5

我不确定此回答。我无法在任何地方找到它。这是空的错误处理?!当我在Java中说“catch(Exception e){}”时称为什么?

+1

参见[*在你的代码千万不要 '燕子' 例外*](http://www.pscode.org/javafaq.html#stacktrace)。 – trashgod

+2

这就是所谓的一个非常糟糕的主意;) – MadProgrammer

+2

@MadProgrammer IMO虽然有点过于宽泛,“一个令人难以置信的坏主意”是一个有效的问题的答案。 –

回答

2

据我所知,它简称为“空的catch子句”(或者沉默异常消费),它一般应避免(或者妥善处理异常或不试图抓住它根本)。

5

这是被称为抑制异常,或吞咽除外。可能不是一个很好的做法,除非有很好的理由。

1

这就是所谓的“断码”。

(如果你想忽略一个例外,那么清楚地记录原因

0

我把它称为“异常屏蔽”,这是不好的风格。最好抓住特定的例外情况,或让它们“冒泡”。掩蔽异常会回来咬你。如果能够适当处理例外情况,这是个好主意。如果异常“冒泡”,则可以开发一个主动异常处理程序来通知开发人员或组织发生意外异常。

2

我们亲切地称之为“啃例外”在工作。基本上,这意味着发生了一些不好的事情,我们正在将我们的头埋在沙子里,假装它从未发生过。最起码,一个好的做法是,该块内的logger.error(E):

try { 
    // code here 
} 
catch (Exception e) { logger.error(e); } 

,这样你就会有它的地方记录发生的异常。

+0

从我在这里阅读的所有答案我喜欢这个最好的,因为你永远不应该只是评论你吞咽异常的原因。你至少需要记录一个错误! – ramsinb

相关问题