在我正在为项目工作的当前包中,我有大约13种不同的自定义异常。将这些放在包含所有将使用这些异常的类的包下面的子包中是一个好主意吗?
例如:
com.company.project.core
包含一堆类,它们可以抛出一些自定义异常,然后放在
中com.company.project.core.exception
我现在看到的唯一缺点是,除了使用例外,我还有更多的类导入。
答案 0 :(得分:6)
我不认为异常应该进入另一个包,因为它们连接到项目中的其他类。如果一个包太拥挤了很多类,你应该拆分该包,但我更愿意按功能标准进行拆分。
无论如何,有这么多异常类我会考虑一个基类异常类,它可以被抛出而不是多个特殊异常。类似于MyProjectException。
答案 1 :(得分:2)
是的,异常包是一个有用的想法,使用任何可敬的IDE都可以避免无论如何都必须处理导入的问题。
对于大多数程序员来说,一个更难的问题是,是否为自己的异常层次结构使用RuntimeExceptions或checked异常。
答案 2 :(得分:1)
这是一个主观问题,但我并不认为需要一个单独的包。自定义异常与同一个包中的类有关,因此将它们保存在同一个包中是合理的。
我无法想到我使用的API的任何示例,其中自定义异常位于他们自己的子包中。当然JDK没有。
答案 3 :(得分:-2)
鉴于您定义的异常数量,我认为使用子包是个好主意。它将使您的核心包更整洁。从 core.exceptions 的包结构中可以清楚地看到异常类与之相关,所以我不同意Mnementh的评论。