0

我需要更改现有的服务 API 来为场景引发额外的异常。该异常将是已抛出异常的子类型。这样做可以吗,还是会被视为向后不兼容?

我的接口在一个单独的 jar 中,所以如果我的服务抛出这个新异常,它是已经抛出的一个子异常并且客户端没有新 jar,它会破坏客户端还是他仍然能够捕获像以前一样的父异常?

问题是我们有一个非常通用的异常,每个异常情况都会抛出,一些客户端想要更好的方法来识别异常 - 除了解析异常中的消息,但如果我们引入新异常,并非所有客户端都可以升级接口- 如何最好地处理这种情况?

谢谢阿文德

4

1 回答 1

1

由于新异常是现有异常的子类型,因此您不应破坏任何现有代码。如果客户端代码捕获基本异常,它将捕获您的新异常。

然后,您可以重构客户端代码以捕获更新的更具体的异常。

于 2009-08-20T10:44:39.617 回答