gpt4 book ai didi

Java 在类内部定义自定义异常,这不好吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:39:42 25 4
gpt4 key购买 nike

我有一个类有一个方法。该方法可能会失败,我想抛出异常。在函数抛出异常的类的命名空间中定义异常类是否不好?我还没有看到很多这样的例子,但这似乎是“正确”(即 OO)的方式吗?我是否应该避免这种模式并在其自己的文件中定义每个自定义异常?

public class Foo
{
void bar() {
// do something and throw BarException if something bad happens
}

public static class BarException extends Exception {
// rest of class definition
}
}

最佳答案

我认为这取决于您正在创建的 Exception 的可能范围。如果它只与 Foo 有关,并且永远只与 Foo 有关,那么将其创建为嵌套类会很好。

只需确保调用 Bar 的内容有意义:

catch (Foo.BarException e)

代替

catch (BarException e)

否则,将其创建为自己的独立类。

至于 namespace ,Java 类可以 用于类的命名空间,但通常在 Java 包中用于类的命名空间。如果主类和其他类之间的耦合度很高,我只会使用嵌套类。

关于Java 在类内部定义自定义异常,这不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19326615/

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