try里面包含另一个try的目的是什么呢?用来区分不同的throw的内容吗
来源:4-5 店铺注册之Service层的实现
慕尼黑3014154
2020-06-12
老师在ShopServiceImpl里的关于addShop的代码是这样子的,我不太明白为什么要在try里面再加一个try呢?是为了区分三个不同的throw的内容吗
try {
// 给店铺信息赋初始值
shop.setEnableStatus(0);
shop.setCreateTime(new Date());
shop.setLastEditTime(new Date());
// 添加店铺信息
int effectedNum = shopDao.insertShop(shop);
if (effectedNum <= 0) {
throw new ShopOperationException("店铺创建失败");
} else {
if (thumbnail.getImage() != null) {
// 存储图片
try {
addShopImg(shop, thumbnail);
} catch (Exception e) {
throw new ShopOperationException("addShopImg error:" + e.getMessage());
}
// 更新店铺的图片地址
effectedNum = shopDao.updateShop(shop);
if (effectedNum <= 0) {
throw new ShopOperationException("更新图片地址失败");
}
}
}
} catch (Exception e) {
throw new ShopOperationException("addShop error:" + e.getMessage());
}
写回答
1回答
-
翔仔
2020-06-13
同学好,主要是为了捕获
int effectedNum = shopDao.insertShop(shop);
的异常的。
后续我们会升级成统一异常处理,然后去掉所有的try catch简化代码
00
相似问题