1、Java Throable 体系图
2、Error
Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题
3、Exception
Exception 异常主要分为两类
一类是 IOException(I/O 输入输出异常),其中 IOException 及其子类异常又被称作「受查异常」
另一类是 RuntimeException(运行时异常),RuntimeException 被称作「非受查异常」。
受查异常就是指,编译器在编译期间要求必须得到处理的那些异常,你必须在编译期处理了。
4、自定义检查性异常和非检查性异常
4.1、受查异常 Checked ,继承Exception,需要Try-Catch捕获来处理逻辑
/**
* @author Yungui.Zheng
* @date 2020/08/19
*/
public class InvalidIdCardException extends Exception {
/**
* use serialVersionUID from JDK 1.1.X for interoperability
*/
private static final long serialVersionUID = 9176873029745254549L;
/**
* Default message
*/
private static final String DEFAULT_MSG = "Invalid IdCard No,不合法的身份证号码";
/**
* Constructs a InvalidIdCardException
with no default message.
*/
public InvalidIdCardException() {
super(DEFAULT_MSG);
}
/**
* Constructs a InvalidIdCardException
with specified detail message.
*/
public InvalidIdCardException(String message) {
super(message);
}
}
4.2、非检查性异常--不需要抛出,继承RuntimeException 即可,不需要Try-Catch捕获
/**
* @author Yungui.Zheng
* @date 2020/08/19
*/
public class InvalidIdCardException extends RuntimeException {
/**
* use serialVersionUID from JDK 1.1.X for interoperability
*/
private static final long serialVersionUID = 9176873029745254549L;
/**
* Default message
*/
private static final String DEFAULT_MSG = "Invalid IdCard No,不合法的身份证号码";
/**
* Constructs a InvalidIdCardException
with no default message.
*/
public InvalidIdCardException() {
super(DEFAULT_MSG);
}
/**
* Constructs a InvalidIdCardException
with specified detail message.
*/
public InvalidIdCardException(String message) {
super(message);
}
}