首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从SQLException对象中获取SQLException原因

如何从SQLException对象中获取SQLException原因
EN

Stack Overflow用户
提问于 2012-03-12 10:55:26
回答 2查看 3.9K关注 0票数 4

我正在使用JDBC,并且正在运行一个查询。有没有办法从返回的SQLException对象中获取失败的原因?

特别是,我想知道我的查询是否违反了外键约束(以及哪一个)或键约束。

这个结果会是特定于供应商的吗?为了以防万一,我使用postgresql-8.4-701.jdbc4.jar驱动程序。如果它是特定于供应商的,我在哪里可以找到代码?

编辑:我想动态地做这件事--即:

代码语言:javascript
复制
if(violated foreign key constraint on attribute x) {
     return 5;
} else if (violated primary key constraint) {
     return 7;
} else {
     return 0;
}

或者类似的东西。

编辑:根据this post的说法,PostgreSQL JDBC没有特定于供应商的错误代码。不知道这是否仍然有效。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-12 13:23:41

您可以处理来自SQLException对象的错误代码。

代码语言:javascript
复制
sqlException.getErrorCode()

这将检索此SQLException对象的特定于供应商的异常代码。通过使用特定于供应商的错误代码,您可以分支到所需的代码块。

票数 5
EN

Stack Overflow用户

发布于 2012-03-12 11:01:09

尝试打印堆栈跟踪(e为SQLException类型)

代码语言:javascript
复制
e.printStackTrace()

或者得到信息

代码语言:javascript
复制
e.getMessage()

这些可能会为查询失败的原因提供一些解释

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9661217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档