catch里写throw,用处是什么?
时间:2011-12-26
来源:互联网
请大牛们详细的解释下。。。
或者说这种写法好不好呢?
个人的看法是偏向不好,请指教
作者: sd4324530 发布时间: 2011-12-26
作者: dy110936 发布时间: 2011-12-26
作者: anhy 发布时间: 2011-12-26
如果说我一个业务逻辑比较复杂,并且,在不同的逻辑层中要做不一样的操作,就得这样,简单举例吧。
我要执行一个删除的sql语句(实际这个语句是有问题的)
在DAO层,先捕捉一次,打印错误的sql语句,
(业务上,如果执行错误,就走另一条业务路线),那么继续抛出异常
在逻辑层上继续捕获,做别的操作
作者: sd4324530 发布时间: 2011-12-26
封装成自定义业务异常类
封装自己的异常类我知道,可是如果需要抛出自己的异常类,catch后的参数上写上不就可以了吗?干嘛要在catch里额外throw出来呢?
作者: sd4324530 发布时间: 2011-12-26
作者: aaaa8215 发布时间: 2011-12-26
作者: pywepe 发布时间: 2011-12-26
比如自己定义很多业务异常类。。当你的问题是属性业务逻辑,或者数据不对时,catch以后,抛出你的业务异常,在上一层进行捕获,进行不同的处理
作者: 朝花夕拾 发布时间: 2011-12-26
这可以将每一层的异常处理分层整合。处理
有没有用可能得根据情况所定吧
比如说一套lib有自己的logger,那在自己的catch中以自己的方式log异常,之后也需要通知调用者此处出现异常,所以throw给调用方
作者: yktd26 发布时间: 2011-12-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28