【发布时间】:2016-02-02 12:23:24
【问题描述】:
在创建 custom exception class(例如自定义运行时异常)时,是否有特定约定在 folder/package 结构中的何处创建它?
所有自定义异常类都应该在相同包中吗?
【问题讨论】:
-
同一个包?不,但它们都必须扩展 Throwable 或其任何子类。
-
不,您不应该创建单独的包。请参阅“按功能打包”:javapractices.com/topic/TopicAction.do?Id=205
-
检查 Java 的异常是如何组织的并使用相同的方法。
-
@rajuGT RuntimeException,你的意思是。还有一个 java.lang.Runtime,所以您选择的速记可能会令人困惑。
-
一般来说没有“正确的方法”。大多数人将异常类放入逻辑相关的包中,并为每个关注类型的关联维护一个松散的异常。我倾向于更进一步,并在抛出异常的类的内部类中设置异常,尽管人们对此有不同的看法——有人告诉我“天哪,不要讨厌停止坏事”和“哦,多么聪明/干净”。 ..