Java::异常处理:(都被抛出啦!)
优点:
将异常代码从正常代码中剥离,可以定位到异常点
把异常进行了分类,对无法预测的异常异常进行捕获和处理
异常处理注意:就近处理,能局部处理不使用异常标志
Java.lang.Throwable.Error()
Java.lang.Throwable.Exception()
Error由JVM抛出,不做处理因为是严重问题
AWTError:AWT异常
OutOfError:内存泄漏,不能正常释放资源
VirtualMachineError:虚拟机错误
Exception编译异常:如I/O异常要进行处理;
IOException:要捕获和处理;
EOFException:意外到达文件的末流或结尾;
FileNotFoundException:文件找不到
RunTimeException:不做处理,这种运行出错了需要程序员自个处理错误;
SQLException:执行SQL语句时异常
IndexOutOfBoundException:数组越界
ArithmeticException:除数为零运算异常
NoPoninterException:对象不存在;
Throw:(抛出)
出错时生成一个错误类型的对象(含有详细的错误信息),把这个错误信息发送给系统。
(异常的产生和提交)(产生+抛出)
Try:(正常执行)
try监视出错了就throws,throws写在方法头里面
Catch:(捕捉)
可以写多个catch,每个catch对应一种异常
从产生异常那个方法开始回溯(回溯到main还没找到解决方法就stop程序),直至找到能解决此异常的的方法,再把这个问题给这个方法处理(捕捉+处理)
Finally:(关闭资源,正常异常均执行)
Finalize()可以被调用;
System.gc();让垃圾回收机制回收,但是不一定听你的;