一文读懂 Java 异常体系
2021-05-14 03:29
标签:方式 throwable on() throws src 帮助 源代码 jdk 种类 写程序的时候,编辑器会提示错误,关键字拼错了,语法不符合规则,不符合泛型;程序编译的时候,编译器会提示错误,检查是否符合 Java 的语法规范,没有通过编译器检查的程序就无法编译,也就无法运行。这些都是在程序正式运行之前,先排除掉一些通过 Java 的规范就可以排除调的错误。 接着程序才可以正式运行,程序运行时任然会出现异常。针对程序运行时出现的异常,Java 将其分成了两大类,一类是 Exception,一类是 Error,它们都继承自 Throwable 接口。 RuntimeException UncheckedException Java 处理异常有两种手段: throws、throw try、catch、finally try...with...resources 异常链是指我们捕获异常之后,将异常信息传给上层,然后逐层抛出异常,,Java API文档中给出了一个简单模型: 当程序捕获到了一个底层异常,在处理部分选择了继续抛出一个更高级别的新异常给此方法的调用者。 这样异常的原因就会逐层传递。这样,位于高层的异常递归调用getCause()方法,就可以遍历各层的异常原因。 自定义异常就是我们自己写一个类,继承某种类型的Exception,在使用它的时候就可以 throw new BusinessException(code, msg); 一文读懂 Java 异常体系 标签:方式 throwable on() throws src 帮助 源代码 jdk 种类 原文地址:https://www.cnblogs.com/shuiyj/p/13125932.htmlExceptio 和 Error
常见的 Exception
Java 处理异常的两种手段
异常链
try {
lowLevelOp();
} catch (LowLevelException le) {
throw (HighLevelException) new HighLevelException().initCause(le);
}
自定义异常
public class BusinessException extends RuntimeException {
private static final long serialVersionUID = 1L;
private Integer code; //错误码
public BusinessException() {}
public BusinessException(ResultEnum resultEnum) {
super(resultEnum.getMsg());
this.code = resultEnum.getCode();
}
public BusinessException(ResultEnum resultEnum, String errorMsg) {
super(errorMsg);
this.code = resultEnum.getCode();
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
}