我正在创建一个简单的表单,它通过一个使用JDBC的Java Servlet将输入的数据存储在一个极其简单的Oracle数据库表中。该表使用电子邮件地址作为主键。如果用户使用相同的电子邮件地址多次提交表单,则execute函数将失败并抛出SQLException。异常的字符串如下:
java.sql.SQLException: ORA-00001: unique constraint (...removed...) violated在这个场景中,我想捕获这个异常,并通过告诉用户表单不能使用相同的电子邮件地址多次提交来处理它。分别处理ORA-00001和execute可能抛出的任何其他SQLExceptions的正确方法是什么?字符串比较显然可以在这里工作,但这似乎是一个糟糕的解决方案。
发布于 2011-04-20 00:07:06
如果您不需要独立于数据库管理系统,请使用SQLException.getErrorCode()
它返回供应商特定的数字错误代码。对于ORA-0001,这将是1
https://stackoverflow.com/questions/5719284
复制相似问题