一、异常、错误的概念
异常是不正常的事件,不是错误
eg: 10/0,文件不存在等
错误是很难处理的,比如内存溢出等,不能够通过异常处理机制来解决。
异常是程序中发生的不正常事件流,通过处理程序依然可以运行下去。但是错误是无法控制的,程序肯定要中断。
二、异常的种类
异常分为运行期异常和编译期异常两种
运行期异常:程序运行时抛除的异常,所有RuntimeException的子类都是运行期异常
数学异常
空指针异常
数组下标越界
.........
编译期异常(Checked Exception):除去运行期的异常都是编译期异常,也称为检测异常
IOException
SQLException
……
三、常用异常
四、try catch的使用
基本语法
try{ 可能会发生异常的代码 }
catch(异常类型 引用名)
{ 异常处理代码 }
finally{ 必须执行代码 }
五、 有return的情况
在try中没有异常的情况下try、catch、finally的执行顺序
1. try --- finally如果try中有异常,执行顺序是try --- catch --- finally
2.如果try中没有异常并且try中有return这时候正常执行顺序是try ---- finally --- return
3.如果try中有异常并且try中有return这时候正常执行顺序是try----catch---finally--- return
4.如果try有异常,相应catch中有return,顺序是try---catch---finally---return
总之:有finally的一定执行