数据库没加唯一约束的时候,代码不报错,加上之后验证的时候,可以根据异常简单的try catch处理吗

ERROR 2015-12-02 11:57:55,110 http-bio-8080-exec-20 - ORA-00001: 违反唯一约束条件 (SCOTT.SYS_C0011574)

ERROR 2015-12-02 11:57:55,110 http-bio-8080-exec-20 - ORA-00001: 违反唯一约束条件 (SCOTT.SYS_C0011574)

ERROR 2015-12-02 11:57:55,110 http-bio-8080-exec-20 - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)

try catch语句是这样的
try {
                bankBManager.addBankBEntity(bankB);
                request.setAttribute("jsons",
                    "{\"success\":true,\"msg\":\"保存成功\"}");
            } catch (Exception e) {
                request.setAttribute("jsons",
                        "{\"success\":true,\"msg\":\"数据重复,请重新输入\"}");
            }

最好还是处理插入数据之前先进行数据唯一验证。验证通过才允许插入。

你这样写结果可能有时没影响。但处理方式不好。就相当于 你提交代码。 你这种写法相当于 提交错误的代码,别人用发现错了才通知你改正。而提前处理判断相当于你自己先 把代码改正测试完全了,才给别人用。你想想哪种好