【发布时间】:2011-10-18 07:38:38
【问题描述】:
我的代码可能会遇到许多不同约束的“约束冲突异常”(CVE)。为了向用户显示有意义的消息并采取特定操作,我正在解析getMessage() 返回的String。它可以工作,但很丑陋,而且肯定不容易维护。
我想知道是否有更好的方法?这一定是很常见的情况;有没有我可以遵循的模式或最佳实践?
谢谢。
【问题讨论】:
标签: java jdbc exception-handling unique-constraint
我的代码可能会遇到许多不同约束的“约束冲突异常”(CVE)。为了向用户显示有意义的消息并采取特定操作,我正在解析getMessage() 返回的String。它可以工作,但很丑陋,而且肯定不容易维护。
我想知道是否有更好的方法?这一定是很常见的情况;有没有我可以遵循的模式或最佳实践?
谢谢。
【问题讨论】:
标签: java jdbc exception-handling unique-constraint
AFAIK,由于您对特定约束失败的情况感兴趣,因此无论您在做什么都是唯一的方法。
我不确定你说的是哪个数据库,但你可以试试.. SQLException.getErrorCode() 和 SQLException.getSQLState()。这些将为您提供更多信息,具体取决于数据库供应商。
例如,在 Oracle 中,SQLException.getErrorCode() 只会告诉您违反了一个约束,而不一定是哪个约束。
【讨论】:
getErrorCode() & getSQLState()。谢谢。