oracle – 使用JDBC捕获和处理ORA-00001 SQLException的正确方法是什么?

我正在创建一个简单的表单,使用JDBC通过 Java Servlet将输入的数据存储在一个非常简单的Oracle数据库表中.该表使用电子邮件地址作为主键.如果用户使用相同的电子邮件地址多次提交表单,则执行函数将失败并抛出SQLException.异常的字符串如下:

java.sql.SQLException: ORA-00001: unique constraint (...removed...) violated

在这种情况下,我想通过告诉用户使用相同的电子邮件地址多次提交表单来捕获此异常并处理它.分别处理ORA-00001的正确方法是什么,与执行时抛出的任何其他SQLExceptions不同?字符串比较显然可以在这里工作,但这似乎是一个糟糕的解决方案.

如果您不需要独立于DBMS,请使用SQLException.getErrorCode()

它返回供应商特定的数字错误代码.对于ORA-0001,这将是1

相关文章
相关标签/搜索