三层体系结构:必须避免层之间的异常依赖性吗?

时间:2011-04-25 13:12:04

标签: java swing exception-handling dependencies

关注此问题: Handling exceptions in a Swing UI (low level to high level and exception wrapping)

逻辑/服务和ui层之间存在明显的依赖关系,因为从服务类中的方法抛出异常(来自文件操作的IOException)并在Swing组件的代码中处理。

这是要避免的吗?如果最好避免像这样的依赖,那么服务类中的异常怎么办?我应该简单地在RuntimeException中包装Exception并让它传播到UncaughtExceptionHandler吗?

2 个答案:

答案 0 :(得分:2)

如果异常是服务层的公共API的一部分,那么完全依赖它们就可以了。但是,最好不要让这些异常转义通过UI控制器进入UI。从那里你应该通知用户界面你想要发生什么,因为例外。

答案 1 :(得分:1)

如果您保存/加载数据,则在层之间共享IOException是正常的。但是应该包括SaxParserException / SqlException这样的例外,因为它们取决于当前的实现。