异常:程序运行时发生了不正常的事件导致程序无法正常执行。
e.getMessage();//获取异常详细信息
e.printStackTrace();//输出红色错误代码行 输出堆轨迹
分类:
A.检查异常(非运行时)
编译的时候会被编译器检查出来,必须处理。
如:
SQLException、IOException、FileNotFindException
B.非检查异常(运行时异常)
能通过编译,可以暂时不处理。
NullPointException、ClassCastException
IndexOutOfException:
ArrayIndexOutOfException
StringIndexOutofException
NumberFormatException
处理异常:
A.捕获:
try..catch..finally
try{
可能产生异常的代码;
}catch(异常类型1 e){
}catch(异常类型2 e){
}..
finally{
无论是否产生了异常,此处的代码都必定会被执行...
关闭资源,删除临时文件....
}
注意:1.子类异常写上面,父类异常写下面。
2.try必须和catch或者finally结合使用
3.try可以有多个catch但只能有一个finally
4.finally在return之前执行
5.一旦遇到system.exit(),则不再执行finally
6.catch和finally中都有return,则程序执行结果为finally中的return值
7.如果catch中return的是一变量值,则程序再执行完finally后最终返回的还是Cath
变量的值。
B.抛出
使用throws关键字,表示方法声明向外抛出异常,方法中不处理,抛出给方法的调用处