gpt4 book ai didi

java - 为什么异常有时需要用 try/catch 包围?

转载 作者:行者123 更新时间:2023-12-02 09:19:30 25 4
gpt4 key购买 nike

我有一个静态工厂类,如果在调用之前没有进行初始化,它会抛出异常。我不明白为什么 Eclipse 对我大喊大叫,因为我在工厂中抛出了异常(它要求我在 try/catch 中包围抛出异常),但在另一个类中我抛出了 UnsupportedOperationException ,eclipse就可以了。

是否有我不知道的违反规则?

我的静态调用(问题根源):

public static Object createObject() {
if (CONTEXT == null)
throw new InstantiationException("Factory not inited.");
// ...
}

编辑:我意识到这可能更适合作为单例而不是静态类,但问题仍然存在。

最佳答案

您需要查看已检查异常和未检查异常之间的区别。

http://docs.oracle.com/javase/tutorial/essential/exceptions/catchOrDeclare.html

如果抛出的异常是从 RuntimeException 派生的,则它是 Unchecked 的,不需要显式声明/处理。所有其他人都必须如此。

关于java - 为什么异常有时需要用 try/catch 包围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8404748/

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