异常的分类
所有的异常类都派生于Throwable类,在其下一个层次又分为两个分支:Error和Exception。Error类描述的是系统的内部错误和资源耗尽,发生这类错误时程序本身无法挽救,只能使其尽可能安全的终止。所以我要关注的是Exception层次结构。
Exception
Exception分为两个层次:派生于RuntimeException的异常类和其他异常类。
RuntimeException中主要有这几类异常:错误的类型转换、数组访问越界、访问空指针(未检查异常)
异常的声明
一个方法如果遇到无法处理的问题就要抛出异常并声明已检查的异常,就像一个方法必须声明返回值类型一样。声明时使用throws语句。
需要使用throws语句声明的情况分为四种:
1)调用一个抛出已检查的方法
2)方法内部利用throw语句抛出一个已检查异常
3 ) 程序出现错误
4)java虚拟机和运行时库出现的内部异常
public class Demo {
public void Test() throws IOException{
//.............
}
}
public class Demo {
public void Test() throws IOException,EOFException{
//.............
}
}
不需要申明时的情况:1)Error异常
2)RuntimeException异常