常见的运行时异常包括
1) NullPointerException 空指针异常
2) ArithmeticException 数学运算异常
3) ArrayIndexOutOfBoundsException 数组下标越界异常
4) ClassCastException 类型转换异常
5) NumberFormatException 数字格式不正确异常[]
处理异常的方法
1.try-catch-finally的使用
try{
出现异常的表达式
}catch(Exception e){//把捕获的异常赋给Exception异常类的变量e
捕获后进行的操作
}finally{
进行最后操作
}
try-catch-finally的使用是自上而下的,但是需要注意的一点是,finally操作是必须执行的,代码从上至下执行到catch操作完,此时已经进行操作进行保存且暂停,继续向下执行finally代码块,将执行完的finally代码块的操作首先输出,其次再输出catch所执行的操作
2.throw (抛出或踢皮球)的使用
public void example() throws Exception{ \\将异常向方法的调用者抛出,可以抛出确定的异常
\\如NullPointerException这种,前提是方法中存在 \\在种异常
}
细节
(1)throws抛出的可以是当前方法中的异常,也可以是异常的父类(如Exception)
(2)throws可以抛出多个异常(抛出的多个异常通过‘,’隔开即可),交给方法的使用者去选择执行或者继续抛出,如果异常被抛出main方法,就将会抛出到JVM中,JVM会粗暴的对异常进行处理,在出现异常处进行中断,结束程序,且其后尚未执行的内容将不再执行。
(3)throws抛出的如果是运行异常,系统可以默认处理,如果是编译异常(无论是否真的有),则必须处理。