本帖最后由 吴上波 于 2013-3-15 13:58 编辑
我也没搞得好清楚,大概理了一下Java Exception的框架
Java中异常有两类:一类是checked异常 ,一类是RuntimeException。
checked异常程序编译期间就会报错,无法通过编译,这类异常比较好处理。
相反,RuntimeException这类异常主要是由程序的逻辑错误造成的。
有可能是数组越界,文件无法找到,用户输入了错误的数据类型,等等,这类异常的不确定性太大了,程序员很难再最初编写代码时就全部考虑在内。
所以系统允许其不被声明抛出,同样系统也允许不catch。其实这是好事啊
异常的处理主要目的是,即使程序出现了异常,也要让程序继续运行,我觉得写break或者return就违背了异常机制的初衷 |