【问题标题】:Parsing thrown custom exceptions from PostgreSQL to EJB?解析从 PostgreSQL 到 EJB 引发的自定义异常?
【发布时间】:2014-02-03 15:09:14
【问题描述】:

我们希望有一个系统,其中 PostgreSQL 在执行交易时会引发自定义异常,详细说明错误情况,例如资金不足、物品已售出等。

临时解决方案是检索包装在PersistenceException 中的com.postgresql.util.PSQLException。然而,这会迫使包对 PostgreSQL 库具有构建和测试依赖关系,从而失去了一些模块化。

有什么方法可以让我们以更优雅或更标准的方式从 PostgreSQL 中返回和解析异常?

【问题讨论】:

  • 如何分析PSQLException?您是只解析异常消息还是需要访问异常的某些特殊属性?
  • 这是正确的,我需要getSQLState,它实际上是父类SQLException 的一部分。我只是将它转换为 SQLException 并且它工作正常。

标签: java postgresql persistence ejb-3.0


【解决方案1】:

将特定于 PostgreSQL 的异常包装在您自己的异常类中。当您创建自己的异常类时,将 PSQLException 作为原因传递,以便它显示在完整的堆栈跟踪和 Exception.getCause() 调用中。那么这个包将只有一个对 PostGreSQL 的运行时依赖。

【讨论】:

    猜你喜欢
    • 2013-08-21
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2020-03-04
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多