1.异常的分类
errror 类 1) unchecked exception …
exception 类 1) checked exception(检查时异常|编译时异常) 2)runtime exception(运行时异常)
error 类:这类错误不需要程序员管理
exception 类:1)runtime exception类只需要增强程序的健壮性就可以处理(一般运行时异常都会直接或者间接的继承自runtime exception类)
常见的几个运行时异常:1)空指针 NullPointerException
2)数组越界异常 ArrayIndexOutOfBoundsException
3)负数异常|数组的长度为负数异常 NegativeArraySizeException
4)数学异常 ArithmeticException
5)类型转换异常 ClassCastException
6)数字转换异常 NumberFormatException
1.1 throw制造异常 throws抛出异常
抛出异常的位置:static void test(int a) throws FileNotFoundException{ };
捕获异常 try…catch…finally
try {
可能会出现异常的代码;
} catch (FileNotFoundException e) {
如果出现对应的异常执行的代码
} catch (NullPointerException e){
} catch (Exception e){
} finally{
无论是否出现异常,一定会执行的代码
}
注意:
1.如果try中的代码出现异常,下面的代码不会执行,直接执行对应的catch中的代码。
2.一个try至少存在一个或者多个catch。
3.catch中捕获异常的顺序从小到大。
1.2 方法的重写 子类重写方法抛出异常类<=父类方法抛出的异常类
class Fu{
void test() throws NullPointerException, Exception{ };
}
class Zi extends Fu{
void test() throws FileNotFoundException{
throw new FileNotFoundException();
};
}
1.3自定义异常类:要直接或者间接继承自Exception或者它的子类 。
class NewException extends RuntimeException{
public NewException ( 类型 参数){
super (参数);
}
}
关键位置写上语句:throw new NewException;