这就是实际的代码,不知为何,出现异常后没有进入catch块,调用直接就结束了,然后控制台输出错误,导致前台挂起,还以为数据还在处理中,其实已经异常了。
public void delete(Entity entity) throws AppException { try { this.getHibernateTemplate().delete(entity); } catch (Exception e) { throw new AppException(e); } }
调试后发现时间报错是 java.sql.BatchUpdateException,这个类是Exception的子类,到底是为什么呢?
你在外面抛了一个exception,咋又在里面trycatch外面那个AppException是自定义异常,想在try里获取底层异常转换为应用异常,然后系统统一对AppException做处理。是不是哪里catch了这个异常,然后抛一个runtimeexception,spring就喜欢这么干runtimeexception你exception捉不到的,catchruntimeexception
咋runtimeException也抓不到,这到底是咋的了...明显catch了,但是你又抛出了,外层没有catch,导致直接crash了外层也catch了。另外,在调试时,报错更本不仅catch。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。