问题描述
- 为什么没有被catch捕捉到,就一句代码!!!!????????
- public boolean updateTest(Test test) {
try { getHibernateTemplate().update(test); return true; } catch (Exception e) { e.printStackTrace(); } System.out.println(""更新失败!""); return false;}我自己把字段类型输入值过大,就报异常了,但是没有往下执行,直接就停了!!!怎么回事?????????为什么catch捕捉不到异常?!
解决方案
看看这个函数的外层有没有别的异常
解决方案二:
try { getHibernateTemplate().update(test); return true; } catch (Throwable e) {//换throwable试试 e.printStackTrace(); } System.out.println(""更新失败!""); return false;
解决方案三:
楼主没有看一下抛出的异常是什么然后试着捕获一下看看嘛
解决方案四:
为什么停的 可能根本不抛错 或者抛了你没写的异常
解决方案五:
试试throwable
试试throwable
解决方案六:
重申一下,就这一句话,没有其他代码了!!就这一个方法!抛出的异常就是sql的值过大异常,基本编程人员都遇到过的!!我的这个异常已经放到了exception,最大了!!等于说,最下面的那句话都没有执行到!!!说明程序直接中断了!!!!
解决方案七:
报的这个异常!!2015-05-14 21:21:03772 WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Error: 12899 SQLState: 72000
2015-05-14 21:21:03772 ERROR [org.hibernate.util.JDBCExceptionReporter] - ORA-12899: 列 ""HR"".""TEST"".""TEST_TITLE"" 的值太大 (实际值: 95 最大值: 20)
2015-05-14 21:21:03772 WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Error: 12899 SQLState: 72000
2015-05-14 21:21:03772 ERROR [org.hibernate.util.JDBCExceptionReporter] - ORA-12899: 列 ""HR"".""TEST"".""TEST_TITLE"" 的值太大 (实际值: 95 最大值: 20)
2015-05-14 21:21:03774 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update