使用Dubbo框架,异常处理原则

  1. 在Dubbo的Service实现中捕获异常,记录异常日志,将异常进行转移为自定义异常抛出,注意自定义异常需是RuntimeException,否则使用Spring事务时,不会出现回滚。
  2. 在dubbo服务的调用层,捕获自定义异常,记录日志进行处理。

下面内容为转载内容:原文地址http://blog.csdn.net/swpihchj/article/details/8058129

异常处理原则
1. 仅处理当前可处理的异常。

  1. 对所有的检查型异常使用异常转译。

  2. 所有的自定义异常都是非检查型异常。

  3. 异常流程与正常流程进行分离,并尽可能的统一处理。

  4. 在非异常处理模块的catch块中尽可能不记日志。

  5. 除非是进行资源释放操作,否则catch块不应为空或者出现e.printTrace

  6. finally块中不能出现复杂的操作,且不可以抛出异常,也不可以出现return。

处理异常的一般方式
1. 将throw语句视为异常流程的起点,将Exception对象视作正常流程向异常流程跃迁过程中的数据载体。

  1. 建立统一的自定义异常类型,用以包装所有检查型异常。

  2. 大多数情况下仅在程序的主干上建立唯一的异常捕获点,并在这个点上对接收到的异常进行处理。

附上自定义异常代码

/**自定义Service异常
 * Created by lxliuxuan on 2017/2/10.
 */
public class ServiceException extends RuntimeException {
    public ServiceException() {
       super("Service层异常");
    }
    public ServiceException(String msg) {
        super("Service层异常:"+msg);
    }
    public ServiceException(Throwable e) {
        super("Service层异常:",e);
    }
    public ServiceException(String msg, Throwable e) {
        super("Service层异常:"+msg,e);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值