我们应该为java中的每个try catch块编写catch(Exception e)吗?

时间:2016-08-08 11:52:43

标签: java exception try-catch

我的问题是我们应该为每个try-catch块catch(Exception e)。知道它会捕获所有异常....这是java推荐的这种类型的编码,或者我应该只捕获已知发生的异常。

考虑下面的例子。

 try {
     //something
 } catch (NumberFormatException ne) {
     //do something
 } catch (Exception e) {
     log.error(e);
 }

2 个答案:

答案 0 :(得分:1)

没有。这不是一个好习惯。确定在实现之前将抛出的异常。只捕获您从方法中抛出的异常。

彻底对您的代码进行单元测试并识别它们。

答案 1 :(得分:0)

是。你可以一次尝试多次捕获。但是层次结构应该更具体到泛型类型。

我也完全同意Tejas的回答。