Java抛出和冗余抛出相同的方法?

时间:2018-08-11 15:58:08

标签: java

当调用方法无论如何都会捕获throws时,情况何时需要方法同时具有throwthrows。以以下方法为例,该方法为我的个人程序创建了一个自定义异常。

.....
.....

public String get() throws EmptyQueueException {
 if( planet == mars)
   throw new EmptyQueueException();

 return galaxy;

.....
.....

当然可以声明并实际传递异常,但是此方法不负责任。我的意思是,如果您知道将要发生此特定异常,那么为什么要编写两次它,考虑到任何一个异常都会被调用方法所捕获,而调用方法无论如何都会捕获该异常。为什么写一个就够了,又要同时抛出?

1 个答案:

答案 0 :(得分:2)

抛出方法声明,声明该方法可能抛出被任何调用方法捕获或管理的异常类型的可能性。 引发实际上会引发异常。