异常包括两种
- 编译期异常:Thread.sleep(1000);文件IO
- 运行期异常:空指针;数组下标越界;除0异常
异常的捕捉
int a=10;
try{ //该块放会发生异常的语句
int b=a/0; //发生异常try块中其后的语句不运行
System.out.println(b);
}catch(Exception e){ //抓住(Exception e)这个错误
System.out.println("除0错误");
}finally{ //不管前面如何finally一定会被运行
} //除非前面有写 System.exit(0);
(Exception e)
括号中保存着异常语句的信息。
Exception e
继承父类的异常包,所有异常均可以这样写
异常的抛出
throws Exception 抛出异常类型
throw 抛出异常对象
void fun() throws Exception {//抛出异常类型
throw new Exception(); //制造异常并抛出
}
异常类的继承顺序
- throwable //所有异常的基类
- Exception
- RuntimeException(运行期异常) IOException 等编译器异常
- IndexOutOfBoundsException 等运行期异常