如何在java中识别数据库异常?

时间:2012-10-03 08:27:58

标签: jdbc database-connectivity

我有一个数据库,我的java程序或Web应用程序连接到该数据库以保持应用程序状态的持久性。在对数据库的某些调用中,可能会出现某些异常 可能是duplicate key exception或某些check constraint可能会失败,或者它可能像bad sql grammer一样简单。如何有效地识别抛出的异常类型,以便可以采取基于异常类型的适当操作。例如,在duplicate key exception的情况下提示用户记录已经存在。

通过检查异常字符串可能有一种方法但是可以采用一种不那么繁琐的方式吗?

此外,是否有可能获得更详细的信息,例如,如果违反了唯一的键约束,那么几个唯一列中的哪一个恰好是罪魁祸首?

请根据Java编程语言或基于java的任何框架(如Spring。

)来建立答案

1 个答案:

答案 0 :(得分:2)

使用java.sql.SQLException(javadoc here)。

在捕获SQLException时,您可以查看其 SQLState ,它将表示根据标准(XOPEN或SQL:2003)发生了哪种类型的错误。