今天抽出时间梳理了一下工作中经常用到的Java异常机制的相关知识,分享给大家。因本人技术有限,有不足之处,请见谅。
Java的异常分为两种类型:异常(Exception)和错误(Error),它们都继承自Throwable。Exception是我们在开发中需要关注和处理的异常,Error代表的是程序发生不可恢复的错误。
- 自定义异常
Java中已有的异常类有多种,但肯定不能考虑到所有的情况,有时我们需要创建自己的异常类。一般来说自定义异常继承Exception即可,也可以根据自己的业务需要继承其它的异常类。创建自定义异常类时最重要的是类名要见名知义。
public class DaoException extends Exception {
/**
* 覆写超类中的构造函数
* @param message 需要抛出的异常信息
*/
public DaoException(String message) {
super(message);
}
}
- 异常转义
在企业级开发中,项目一般是分层开发,当某一层的代码发生异常时,应该记录下原始的异常信息,并抛出代表当前层的异常信息。
public class DaoExceptionTest {
public void getById(Integer id) throws DaoException {
try {
//业务处理
} catch (Exception e) {
//使用日志工具记录日志信息
//...
//抛出Dao层异常
throw new DaoException("根据主键获取失败");
}
}
}