作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
Effective Java (Second Edition) ,第 4 项,讨论使用私有(private)构造函数来强制执行不可实例化。这是书中的代码示例:
public final class UtilityClass {
private UtilityClass() {
throw new AssertionError();
}
}
但是,AssertionError
似乎不是正确的抛出方法。没有任何东西被“断言”,这就是 API 定义 AssertionError 使用的方式。 .
在这种情况下,是否有一个不同的 Throwable
?人们通常只是抛出一个带有消息的一般 Exception
吗?或者为此编写自定义 Exception
是否常见?
这很简单,但我想我只是从风格和标准的角度对它感到好奇。
最佳答案
有一个断言:“我断言这个构造函数永远不会被调用”。所以,确实,AssertionError
在这里是正确的。
关于java - 在私有(private)实用程序类构造函数中使用的首选 Throwable 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/398953/
我是一名优秀的程序员,十分优秀!