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

Java 三层体系结构:必须避免层之间的异常依赖关系吗?,java,swing,exception-handling,dependencies,Java,Swing,Exception Handling,Dependencies,就这个问题: 逻辑/服务和ui层之间存在明显的依赖关系,因为异常是从服务类中的方法引发的(来自文件操作的IOException),并在Swing组件的代码中处理 这是应该避免的吗?如果最好避免像这样的依赖关系,那么如何处理服务类中的异常呢?我是否应该简单地将异常包装在RuntimeException中,并让它传播到UncaughtExceptionHandler?如果异常是服务层的公共API的一部分,那么依赖它们是完全正确的。不过,最好不要让这些异常转义通过UI控制器传递到UI中。从那里,您应

就这个问题:

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


这是应该避免的吗?如果最好避免像这样的依赖关系,那么如何处理服务类中的异常呢?我是否应该简单地将异常包装在RuntimeException中,并让它传播到UncaughtExceptionHandler?

如果异常是服务层的公共API的一部分,那么依赖它们是完全正确的。不过,最好不要让这些异常转义通过UI控制器传递到UI中。从那里,您应该通知UI您希望发生的异常情况。

如果您保存/加载数据,在层之间共享
IOException
是正常的。但是像
saxparsexception
/
SqlException
这样的异常应该被包装,因为它们依赖于当前的实现