处理多种类型的错误

时间:2014-10-16 11:58:47

标签: java c++ error-handling enums

假设我有两个不同的库:

第一个是网络库,第二个是XML库。

两个库都有定义的错误:NetworkError和XMLError枚举。

现在我将两个库合并为一个。它将从网络接收XML并处理其标记。

但是,任何方法都可以在内部遭受任何类型的错误,XMLError或NetworkError。 我的库不应该处理错误,应该将它们转发给用户。

一旦我的语言被statticaly键入,我就无法返回多种类型。

解决此问题的最佳方法是什么?创建一个新的枚举,逻辑上对应两个枚举的并集?

例外不是一种选择。

谢谢。

1 个答案:

答案 0 :(得分:-1)

我认为你的方法是解决问题的最佳方法,因为唯一的另一种方法是返回一个Enums容器,这对于lib来说是非常罕见的