Java 获取无法访问的语句错误,即使它在spring hibernate的运行时到达

Java 获取无法访问的语句错误,即使它在spring hibernate的运行时到达,java,spring,hibernate,Java,Spring,Hibernate,我试图捕获在春季运行时发生的异常hibernate下面是将数据插入sql表的hibernate代码,但我想捕获某些异常,但我正在下面 错误: JDBCConnectionException的不可访问捕获块 决不会从try语句体引发此异常 try { TokenBo tokenBo = (TokenBo)appContext.getBean("TokenBo"); Token token = new Token(); token.setFirs

我试图捕获在春季运行时发生的异常hibernate下面是将数据插入sql表的hibernate代码,但我想捕获某些异常,但我正在下面

错误:

JDBCConnectionException的不可访问捕获块

决不会从try语句体引发此异常

  try
    {
       TokenBo tokenBo = (TokenBo)appContext.getBean("TokenBo");
       Token token = new Token();
       token.setFirstName(FirstName);
       tokenBo.save(token);
    }
    catch(JDBCConnectionException  e1) {}
运行时异常&错误应该发生在运行时,报告程序运行时出错,ConstraintViolationException是运行时异常

您得到的错误是因为ConstraintViolationException从未从代码中抛出


为什么您甚至想捕获ConstraintViolationException?此异常表示您未能满足其中一个DB约束,这意味着您没有适当的数据检查来避免Commos中的聊天模式:

错误消息是不言自明的:

决不会从try语句体引发此异常

  try
    {
       TokenBo tokenBo = (TokenBo)appContext.getBean("TokenBo");
       Token token = new Token();
       token.setFirstName(FirstName);
       tokenBo.save(token);
    }
    catch(JDBCConnectionException  e1) {}
移除ConstraintViolationException的catch块。不要试图处理代码无法引发的异常

如果删除此项,并且运行代码会导致JDBCConnectionException,则需要解决此问题,而不是创建另一个来隐藏它


如果您需要帮助来解决该问题,则必须提供更多代码/configuration/stacktrace/…

如果从未抛出,请不要尝试捕获它。那么我应该如何处理这些异常并打印自定义消息如果没有抛出,您甚至不应该尝试处理它们。它们在sql server未启动时抛出,但尝试访问MySQLQUOTE时引用错误消息:决不会从try语句体抛出此异常。如果我停止我的sql server并运行我的代码,我会得到org.hibernate.exception.JDBCConnectionException。如何:不要在sql server关闭的情况下运行代码。不会抛出的是ConstraintViolationException。我没有提到JDBCConnectionException。你明白了,因为您关闭了服务器。是的,我想捕获该异常,两个catch语句都有无法访问的语句ErrorsOry对于错误消息,我错了,我现在编辑了它,请查看并给出解决方案我不检查数据,因为这是由用户提供的,如果冒号和用户中有主键,我将存储在db中如果这个已经存在,那么我应该告诉用户,这就是为什么我需要抓住它exception@Label,很抱歉,但不检查用户数据并将其填充到数据库中是一种糟糕的做法。作为一般规则,应始终检查公共方法的输入参数。您必须更改编码方法以避免此错误。通过这种方式,您将保存到DBok的行程,我会这样做,您能为我提供JDBCConnectionExceptionsorry的解决方案吗?错误消息我错了,我现在已经编辑了。请查看并提供解决方案AppContext.getBeanTokenBo此代码是否为您提供JDBC连接?规则是一样的,如果您的代码没有抛出您试图捕获的异常,编译器会抱怨