java - 使用旧框架生成Spring DataAccessExceptions

标签 java spring error-handling rpc corba

我目前正在重写一个后端正在使用的旧版Web应用程序,其中包括CORBA和另一个RPC框架-它们都已经很老了并且没有Spring支持。

我的希望是,我最终可以编写一个@Repository类来处理CORBA和其他RPC调用,并用某种DataAccessException封装所有异常,然后将其抛出。

我的问题是

  • 是执行此操作的最佳实践,这样我的存储库就不会在同一个存储库方法可能同时抛出CORBA和RPC异常的区域中抛出过多的DataAccessExceptions
  • 应该在存储库类“下方”有一个类来处理其中的某些并将其抽象化吗?或者从技术上讲,存储库类是干什么用的?
  • 最佳答案

    在没有任何社区反馈的情况下,我认为我应该发布实现程序,这绝不是福气,甚至可能有点味道。

    为了使调用我的业务层(标有@Service的类)的代码只需要担心一个异常(即DataAccessException),业务层中或下方的代码所引发的任何/所有异常都被包装为某种DataAccessException形式。这听起来很可笑的原因是,业务逻辑可能合法地抛出与数据访问无关的异常,例如,验证。

    但是,这个想法是不要让我的servlet带有多个catch块或try { ... } catch (Exception ex) { ... }的反模式。

    再说一次,这不是一个真正的答案,但我想它确实有效。

    关于java - 使用旧框架生成Spring DataAccessExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8753605/

    相关文章:

    java - Maven 对所有项目使用相同的 API 文档(mvn 站点定制)

    java - 如何在接口(interface)类型的引用上调用 Object 类的方法?

    Spring - Jackson 请求映射与验证。当为 long 属性给出字符串时抛出 "HttpMessageNotReadableException"

    database - Flyway 无法实例化 jdbc 驱动程序

    java - 如何使用 weblogic 和 JPA 在 Spring 中处理事务

    macos - 无法读取opensslv.h :No such file or directory

    java - JMockit - 验证私有(private)方法

    java - Spring 安全 : using relative path

    error-handling - 如何从已发布的 Web Api 中获取详细信息异常

    laravel - 方法Save()Laravel 5.6,返回True或False