DAO层的异常处理模式

如果不考虑上层代码对于数据层的使用,在数据层出现的异常一般用声明或捕获不处理的方式进行标记,但是当service层对数据进行使用时,将无法寻找到异常并处理,所以在数据层应该对异常进行一些处理,处理模式如下:
在DAO层建立一个RuntimeException的子类,专门用于异常处理,该类只需有固定的序列号并利用构造器生成方法即可:

public class DaoException extends RuntimeException {
    private static final long serialVersionUID = -1770510730768385681L;

    public DaoException() {
    }

    public DaoException(String message) {
        super(message);
    }

    public DaoException(String message, Throwable cause) {
        super(message, cause);
    }

    public DaoException(Throwable cause) {
        super(cause);
    }

    public DaoException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }
}

对于异常就可以包装处理了:

        try {
            //code
        } catch (SQLException e) {
            // 包装异常
            throw new DaoException(e.getMessage(), e);
        } finally {
            //code
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值