首页 > 代码库 > 2017-06-27

2017-06-27

异常的概念:异常是不正常的事件,不是错误 异常是指程序运行的过程中,发生某些意外的事情,比如10除以0, 文件不存在等。比如:

技术分享

错误与异常的区别:

    错误是很难处理的,比如内存溢出等,不能够通过异常处理机制来解决。 异常是程序中发生的不正常事件流,通过处理程序依然可以运行下去。但是错误是无法控制的,程序肯定要中断。

Throwable类有两个直接子类:Exception类、Error类。Error表示错误,可能是编译期错误或者系统错误,往往程序中并不处理。Exception表示异常,是所有异常类的父类,是程序员所关心的。

异常分为运行期异常和编译期异常两种 运行期异常:程序运行时抛除的异常,所有RuntimeException的子类都是运行期异常

                                                     数学异常

                                                    空指针异常

                                                    数组下标越界

                                                    ……

编译期异常(Checked Exception):除去运行期的异常都是编译期异常,也称为检测异常

                                      IOException

                                      SQLException

                                      ……

try:块中任何一条语句发生了异常,下面的代码将不会被执行,程序将跳转到异常处理代码块中,即catch块。因此,不要随意将不相关的代码放到try块中,因为随时可能会中断执行。

catch:

  把抓到的类型匹配的异常捕获,保证程序能继续运行下去

   catch语句必须紧跟着try语句之后,称为捕获异常,也就是异常处理函数,一个try后面可以写多个catch,分别捕获不同类型的异常,要从子类往父类的顺序写,否则有编译错误

 {在try中没有异常的情况下try、catch、finally的执行顺序 try --- finally

 如果try中有异常,执行顺序是try --- catch --- finally 如果try中没有异常并且try中有return这时候正常执行顺序是try ---- finally --- return

 如果try中有异常并且try中有return这时候正常执行顺序是try----catch---finally--- return 如果try有异常,相应catch中有return,顺序是try---catch---finally---return }

 

2017-06-27