对Dao层所有通用方法都加了catch (Exception e){...},但?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

对Dao层所有通用方法都加了catch (Exception e){...},但?报错

爱吃鱼的程序员 2020-06-14 22:42:43 77

这就是实际的代码,不知为何,出现异常后没有进入catch块,调用直接就结束了,然后控制台输出错误,导致前台挂起,还以为数据还在处理中,其实已经异常了。

public void delete(Entity entity) throws AppException {
		try {
			this.getHibernateTemplate().delete(entity);
		} catch (Exception e) {
			throw new AppException(e);
		}
	}

调试后发现时间报错是 java.sql.BatchUpdateException,这个类是Exception的子类,到底是为什么呢?



Java
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-14 22:43:01

    你在外面抛了一个exception,咋又在里面trycatch外面那个AppException是自定义异常,想在try里获取底层异常转换为应用异常,然后系统统一对AppException做处理。是不是哪里catch了这个异常,然后抛一个runtimeexception,spring就喜欢这么干runtimeexception你exception捉不到的,catchruntimeexception
    咋runtimeException也抓不到,这到底是咋的了...明显catch了,但是你又抛出了,外层没有catch,导致直接crash了外层也catch了。另外,在调试时,报错更本不仅catch。

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程