Java自定义异常:包约定?

rni*_*902 8 java exception

在创建custom exception class(例如自定义运行时异常)时,是否存在特定约定,以便在folder/package结构中创建它?

是否所有自定义异常类都在同一个包中?

VGR*_*VGR 13

应始终在与能够抛出它的类相同的包中定义异常类.永远不要创建一个单独的包来保存异常.

通常,包应该封装单个主要功能单元.例外是该功能的一部分.

只应创建子包以限制对类和/或方法的访问.这是通过创建"包访问"类和/或方法来完成的:它们既不是公共的,也不是受保护的,也不是私有的.没有访问修饰符意味着它们仅对同一包中的类可见.如果你没有任何这样的类或方法,你可能不应该做一个子包.

子包应该不会被用于创建:

  • 将几个碰巧有一些共同点的类分组.(注意Java SE中没有java.text.format或java.net.socket或javax.swing.button包.)
  • 打破一个包,因为它似乎有太多的类.(在一个包装中有五十个课程没有错.)

  • “不应该为……创建子包”谁说?您列出的两个示例在用于分解的主要模式起作用时都是有效的。通常,按技术问题进行组织在包层次结构中较低。 (4认同)