我为什么要创建自己的例外?

时间:2015-09-03 12:45:45

标签: java exception exception-handling

在Java中,我们可以编写自己的异常。

为什么我要/需要这样做?这样做的好处是什么?

为什么要创建我的Exception,而不是添加标准异常的捕获?

3 个答案:

答案 0 :(得分:3)

如果您对以下任何问题的回答为是,您应该编写自己的异常类;否则,你可以使用别人的。

  • 您是否需要Java平台中未表示的异常类型?
  • 如果用户可以将您的例外与其他供应商撰写的类别所引发的异常区分开来,会对用户有所帮助吗?
  • 您的代码是否会抛出多个相关的异常?
  • 如果您使用其他人的例外情况,用户是否可以访问这些例外情况?
  • 类似的问题是,如果您的包裹是独立且独立的吗?

取自this article中的“2.创建自定义例外”。

答案 1 :(得分:2)

如果您需要针对不可恢复的情况抛出异常(换句话说,您不打算捕获并处理它),那么不要创建自己的异常类型。

然而,有一些合法(虽然非常罕见)的情况,其中例外实际上用于表示可恢复的特殊情况。在这些情况下,最好选择创建自己的异常类型来表示特定于域的环境。

当我说“句柄”时,我的意思不仅仅是记录或返回一般的失败响应。处理代码应该“存在”异常并应用一些业务逻辑来继续。

答案 2 :(得分:1)

您不一定需要,但如果您正在创建一个库,则可能需要创建自己的异常层次结构。

命名良好的自定义异常将提供其他信息,但通常您会发现符合您要求的现有异常(您不需要制作自己的AndroidManifest.xml或类似的异常类型。)