一、异常的分类:
所有的异常类都是属于Throwable类的子类。其主要分为两大类派,Exception类和Error类。Error类是十分严重的错误如Java运行系统中的内部错误及Java虚拟机资源耗尽等,我们无法解决。而Exception类又衍生出两个子类RuntimeException(运行时异常/非检测异常)类以及CheckedException(检测异常)类。
CheckedException(检测异常)在代码编译的过程中,编译器要求你对可能出现的异常必须做出相应的处理的异常。如IOException、SQLException等以及用户自定义的Exception异常。
UncheckedException(非检测异常)是在程序运行过程中抛出的异常,如果不对其进行处理的话整个程序就会突然中止,这是在编译过程中无法被编译器检测到的。如:NullPointerException,IndexOutOfBoundsException(数组下标越界)等。
二、异常处理:
CheckedException:
1.使用 try...catch 结构捕获并处理。
2.定义方法时 使用 throws 关键字声明抛出异常,使异常在方法调用时被处理。
UncheckedException:
1.使用 try...catch 结构捕获并处理,使程序继续执行。
2.定义方法时 使用 throws 关键字声明抛出异常,使异常在方法调用时被处理。
3.不处理。
三.自定义异常。
1.创建自定义异常类;
public class MyException extends Exception{ //继承Exception类
public MyException(String ErrMsg){ //构造方法
super(ErrorMsg); //调用父类的构造方法。
}
}
2.在方法中声明抛出异常;
3.调用方法时 try...catch...异常。



