解析从PostgreSQL到EJB的抛出自定义异常?

时间:2014-02-03 15:09:15

标签: java postgresql persistence ejb-3.0

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

临时解决方案用于检索com.postgresql.util.PSQLException中包含的PersistenceException。但是,这会强制程序包对PostgreSQL库具有构建和测试依赖性,从而失去一些模块性。

我们是否可以通过更优雅或更标准的方式返回并解析PostgreSQL中的异常?

1 个答案:

答案 0 :(得分:1)

在您自己的异常类中包装PostgreSQL特定的异常。在创建自己的异常类时,将PSQLException作为原因传递,以便它显示在完整堆栈跟踪和Exception.getCause()调用中。然后该包只会对PostGreSQL产生运行时依赖性。