【问题标题】:Three-tier architecture: Must Exception dependencies between layers be avoided?三层架构:必须避免层之间的异常依赖吗?
【发布时间】:2011-04-25 13:12:03
【问题描述】:

以下问题: Handling exceptions in a Swing UI (low level to high level and exception wrapping)

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

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

【问题讨论】:

    标签: java swing exception-handling dependencies


    【解决方案1】:

    如果异常是服务层的公共 API 的一部分,那么完全可以依赖它们。但是,最好不要让这些异常逃逸通过您的 UI 控制器并进入 UI。从那里您应该通知 UI 您希望由于异常而发生的事情。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-15
        • 2018-01-09
        • 1970-01-01
        • 2011-06-02
        相关资源
        最近更新 更多