抛异常的问题
来源:2-2 实体类设计与表创建A
371425
2019-11-18
@Transactional
public ShopExecution addShop(Shop shop, File shopImg) {
// 检查参数的合法性
BeanValidator.check(shop);
try {
int count=shopMapper.insertSelective(shop);
if(count0) {
return ShopExecution.createErrorByMessage(ShopStateEnum.UNCHECK.getStateInfo());//创建店铺失败
}else {
//检查图片对象是否正常,
if(shopImg!=null) {
try {
//进行处理图片–>创建当前店铺id的图片存放路径
addPicture(shop,shopImg);
}catch(Exception e) {
throw new ParamException("店铺图片处理异常》"+e.getMessage());
}
//图片处理成功之后=把图片的路径更新到对应的数据对象中
count=shopMapper.updateByPrimaryKeySelective(shop);
if(count<=0) {//如果小于等于0 则失败 否则成功
return ShopExecution.createErrorByMessage(ShopStateEnum.UPDATA_ERROR.getStateInfo());//更新店铺信息失败
}
}
}
}catch(Exception e) {
//数据插入失败!
throw new ParamException(ShopStateEnum.INNER_ERROR.getStateInfo());
}
return ShopExecution.createSuccessByDate(shop);
}
这个shop-service方法中 我遇到的问题是:addPicture(shop,shopImg); 处理图片的方法有错误 没有获取到shop的id 当时的id为空 导致错误 但是抛出的错误 是最外层的异常信息 数据插入失败!调试了代码 插入语句没有发生错误 又开始往下找 最终发现 自己的mapper 主键id没有写对 添加上 就可以了
最终我发现 这个serivce 报错 抛出的异常 不是具体的异常信息 而是 最外层的异常信息 ,这个信息不是我想要错误信息 是因为我加上了 事物@Transactional的缘故吗 ? 怎么才能在加上事物的情况下 抛出的错误信息 是我想要的错误信息(throw new ParamException(“店铺图片处理异常==》”+e.getMessage());)
1回答
-
翔仔
2019-11-19
同学好,得看你的addPicture(shop,shopImg);方法里面抛出的啥信息,看看你的异常在哪里备修改了,需要调试一下,@Transactional就一个标签,不会改变日志结果的
00
相似问题