java基础总结之异常
1.异常是什么是一种“错误”的集合,这个错误不是不可更改的代码错误。
2.java异常的常见分类
3.异常的基本形式
try {
throw new Exception();
} catch (Exception e) {
e.printStackTrace();
}finally{
}
以上中try是捕获可能出错的代码。catch 中是异常的处理办法, finally是一定执行的代码。
以上try可以和catch。finally自由组合,可以选也可以不选。
有一个注意点:
finally 是在一个方法中在return 后是会执行的,但是是在return之后执行的,
附上一个面试题:
<span style="white-space:pre"> </span>public int get(){
int i=9;
try {
return i;
}finally{
i++;
}
}
这个方法调用之后返回的是9;而不是10。你可以debug一下,在走了return之后,有走的finally块。
4.异常的处理办法
只有两种,一种是抛,一种是捕获,你要注意,在catch中throw 一个异常也要捕获或者抛出的。
<span style="white-space:pre"> </span>public void catchTest(){
try{
int i=0;
int j = 9/i;
}catch(Exception e){
throw new Exception();
}
}
第6行需要捕获,或者抛出。
5.运行时异常和编译异常,
编译异常,系统要求必须捕获,如果不捕获,会编译不通过。运行期异常是不需要捕获的,但是它如果出现,程序就会停止,这类异常通常是代码的逻辑问题,是应该避免的。还有就是运行期异常你也是可以捕获的,因为捕获了,下面的代码就能继续执行。
注:小技巧,如果你写的javascript或者java中有些东西会出错,你有不想管,直接try一下。下面一样跑。不过不到万不得已别用。