gpt4 book ai didi

java - 为什么我需要在 Java 方法中返回一个值,即使我总是抛出异常?

转载 作者:行者123 更新时间:2023-11-29 10:05:24 24 4
gpt4 key购买 nike

为什么下面的代码不能编译:

    @Test
public boolean testException() throws MyException {
try {
System.out.println("Try some resource, which may throw an exception");
return resource.getSomething();
} catch (Exception e) {
logAndThrowSpecificException(e);
} finally {
System.out.println("Clean up");
}
}

private void logAndThrowSpecificException(Exception e) throws MyException {
throw new MyException("Checked exception", e);
}

在 IntelliJ 中,它提示我需要从 testException() 方法的最后一行返回一个值,但据我所知,没有代码路径可以到达那个点?我错过了什么?

similar questions on StackOverflow ,但我能找到的最佳解决方案是只放入一个 return null 语句。对于为什么这是必要的,没有正确的答案。

最佳答案

我怀疑它不确定 logAndThrowSpecificException() 将始终抛出异常,即使它的目的有一个非常明确的名称,所以它有可能结束testException() 达到。

关于java - 为什么我需要在 Java 方法中返回一个值,即使我总是抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9737266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com