【发布时间】:2014-08-26 10:49:42
【问题描述】:
实现接口时,接口方法不抛出异常是完全合法的,但实现类方法可以抛出异常。
接口定义
public interface exceptionNotDefined {
void doNotThrowException();
}
实现类
public class exceptionNotDefinedImpl implements exceptionNotDefined {
@Override
public void doNotThrowException() throws RuntimeException{
}
}
这背后的逻辑是什么,Java 语言规范的哪一部分处理了这个问题。
【问题讨论】:
-
仅供参考:RunTimeException(s) 不需要明确定义为
throws。只有检查的异常应该是。 -
@T.J - s/应该/必须是/p。将
throws用于未经检查的异常可能是有益的。它可以帮助记录 API。