Java 8 orElseThrow: why is compiler not complaining that method does not have a “throws”
本问题已经有最佳答案,请猛点这里访问。
我有以下代码:
1 2 3 4 | public Trail getNewestTrail() { return trails.stream().max(Comparator.comparing(Trail::getTimestamp)).orElseThrow(NoSuchElementException::new); } |
如果没有将getNewestTrail声明为抛出异常,我没有看到任何错误 - 为什么?
Java programming language does not require methods to catch or to
specify unchecked exceptions (RuntimeException, Error, and their
subclasses)
您只需要在方法签名中指定已检查的异常。
只是要检查,用