一、异常的分类
1、异常可分为error和Exception,继承自Throwable;
-
Error:描述JVM运行时的内部错误,如栈溢出、堆溢出等
-
Exception:由于代码问题产生的错误
-
-
IoException:由于输入输出产生的异常,
-
-
RuntimeException:发生在运行时期:如数组下标越界,空指针异常,类型转换异常
2、异常可分为受查异常和非受查异常;
-
非受查异常:Error及其子类和RuntimeException及其子类,不强制用户进行异常处理;
-
受查异常:其他异常,强制用户进行处理,否则编译不通过。
二、异常的处理
1、throw(抛出异常)
public void fun() throws Exception{
if(){
throw new Exception();
}
}
2、try-catch-finally(捕获异常)
try{
}catch(Exception e){
e.printStackTrace();
}finally{
}
finally是一定会被执行的,即便try/catch中有return语句,也会执行,除非try/catch中存在System.exit(0)—系统退出(JVM断掉)