关注此问题: Handling exceptions in a Swing UI (low level to high level and exception wrapping)
逻辑/服务和ui层之间存在明显的依赖关系,因为从服务类中的方法抛出异常(来自文件操作的IOException)并在Swing组件的代码中处理。
这是要避免的吗?如果最好避免像这样的依赖,那么服务类中的异常怎么办?我应该简单地在RuntimeException中包装Exception并让它传播到UncaughtExceptionHandler吗?
答案 0 :(得分:2)
如果异常是服务层的公共API的一部分,那么完全依赖它们就可以了。但是,最好不要让这些异常转义通过UI控制器进入UI。从那里你应该通知用户界面你想要发生什么,因为例外。
答案 1 :(得分:1)
如果您保存/加载数据,则在层之间共享IOException
是正常的。但是应该包括SaxParserException
/ SqlException
这样的例外,因为它们取决于当前的实现。