所谓异常就是程序运行时,常出现的非正常现象。
Java中的异常都是继承Throwable基础,
异常分为error和exception,
error是系统发生异常,也就是JVM编译解决不了的问题。不可控,如程序死循环,内存泄漏;
exception主要是程序运行时,我们自己需要对其异常发生地方进行捕获或者抛出,让程序进行正常运转。
exception又划分为runtimeException和checkedExcption,runtimeException是在程序运行时根据运行的环境可能出现的异常,需要进行分析。
checkedException可以在编写程序时静态代码块需要解决的异常,如IOException,SQLException。
异常有关的关键字:try,catch,finally,throw,throws。
try……catch、try……finally、try……catch……finally,catch语句块可以多次出现,如果有Exception则只能放在最后的caych块。finally只能出现一次。
在实际编程中,try……catch尽量不要放入大量的代码,可以分段多次捕捉,减少CPU的运行搜索压力;
throw与throws,throw一般出现在方法内部,根据条件可能会抛出异常,throws出现方法上显示声明抛出异常。一般如果用throw的话,最好对其进行
try……catch捕获异常。
finally一般表示在程序最终收尾时一定运行的代码块。主要用于清理内存资源。