Java - 自定义异常

在编码中通常情况下,可能发生异常的地方都需要尝试捕获并抛出异常,这里我们使用自定义异常来解决该问题,以便让Log4j来统一输出错误日志,也能更好的管理我们的异常。

[color=red][b]一、创建一个类并继承RuntimeException(当然这里也可以继承Throwable或者其它Java内置的异常类)[/b][/color]

package com.wmli.family.exception;

import org.apache.log4j.Logger;

/**
* 自定义数据访问层异常
* @author wmli
* Create on 2011-2-18
*
* 重写父类的构造方法即可,是不是很简单?
* 里面自己随便处理,呵呵
*/
@SuppressWarnings("serial")
public class DaoException extends RuntimeException {
private static Logger logger = Logger.getLogger(DaoException.class);

public DaoException() {
super();
}

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

public DaoException(String message) {
super(message);
logger.error(message);
}

public DaoException(Throwable cause) {
super(cause);
logger.error(cause);
}

}


[color=red][b]二、使用自定义异常[/b][/color]

/**
* 保存
* @param article
* @throws DaoException
*
* 这是一个接口,我们申明抛出该异常
*/
public void save(Article article) throws DaoException;

//这里是具体实现,我们申明该异常并尝试抛出该异常,在前面接收即可
public void save(Article article) throws DaoException {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
pm.makePersistent(article);
} catch (Exception e) {
throw new DaoException(e.getMessage(), e);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值