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