1.自己声明的异常----就是自定义异常,用throw语句在适当的地方抛出自定义的异常。例如:
在某种条件抛出异常
public void test1() throws MyException{
...
if(....){
throw new MyException();
}
}
2.运行时异常----RuntimeException类及其子类都被称为运行时异常,这种异常的特点是Java编译器不去检查它(即可编译通过),没用try...catch语句捕获它,也没throws抛出它。例如,当除数为零时,可编译通过,运行会抛出java.lang.ArithmeticException异常。
3.编译时的异常---Exception类中,除了RuntimeException类及其子类外,其他的就属于受检查异常,也叫受检查异常,这种异常的特点是要么用try...catch捕获处理,要么用throws语句声明抛出,否则编译不会通过。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。 |