1).所有的异常都是由Throwable继承而来,在下一层分为Error和Exception。
Error类描述了java运行时系统的内部错误和资源耗尽错误,只能抛出此类错误和通告用户,并尽力使程序安全退出。
主要关注的是Exception,该层次可以分为RuntimeException和其他异常。由程序错误引发的为RuntimeException。
RuntimeException包含的情况:
错误的类型转换,数组访问越界,访问null指针
其他异常:
在文件尾部读取数据,打开一个不存在的文件,根据给定的字符串查找对象但是该对象不存在
声明抛出异常:使用throws关键字
如下情况需要抛出异常:
1调用抛出异常的方法
2程序运行过程发现错误,并利用throws抛出
3程序出现错误
4java虚拟机和运行时库出现的内部错误
2).捕获异常:使用try/catch语句
try{
code
}catch (Exception e){
handel
}
当在try和finally语句中都有return语句时,在try-return前还需执行finally语句,如果finally在有return,那么finally的返回值会覆盖try的返回值。