gpt4 book ai didi

Java:声明未检查异常的最佳实践

转载 作者:搜寻专家 更新时间:2023-10-31 08:26:10 25 4
gpt4 key购买 nike

假设您有一些方法声明抛出未经检查的异常

编辑:假设不是你设计了这个方法,而是一个非常受人尊敬的框架(Spring,aekhm!)的作者,你只是调用它

void someMethod() throws UncheckedException;

我的第一个问题是:

  1. 在 throws 子句中声明未经检查的异常除了清楚之外还有其他原因吗?

假设您有另一个调用 someMethod

的方法
void someOtherMethod() {
someMethod()
}

我的第二个问题是:

  1. 决定是否在 someOtherMethod 中声明抛出 UncheckedException 的最佳做法是什么?

背景介绍:

Spring框架的异常都是基于unchecked异常。因此,例如某些方法抛出(并在 throws 中声明)DataAccessException。如果我的代码正在使用这些调用,它是否应该声明抛出这些异常?为什么?

最佳答案

无需在方法的throws ... 子句中声明未经检查的异常。如 Java Language Specification 中所述, "允许但不要求在 throws 子句中提及未经检查的异常类"。

如果您预计 API 的用户可能会遇到未经检查的异常,那么通常的做法是在 Javadoc 中列出这些异常。一个常见的示例是列出可能抛出 IllegalArgumentException 的原因。

如果您用一个方法包装另一个方法,请应用Effective Java 抛出适合抽象级别的异常的原则(条目 61)。这应该适用于已检查的异常和预期的未检查异常。

关于Java:声明未检查异常的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25743574/

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