这里给大家讲一下Java中比较难一些的异常,这个也是Java语言很重要的一点。可能一些初学者对它会有些惧怕,这里给大家简单的讲解一下异常。
异常在Java中最重要的语法就是 try···catch···finally (try)见识,考验,审问 (catch)捕捉,捕获 (finally)最后,终于,不可更改的,也是最重要的骨架,其中还会遇到一些别的语法。比如: (throw)抛出,扔 (exception)异常 (error)错误。
一、异常分为两大类:编译时异常(错误)和运行时异常。
二、异常的处理:try{
..... //监视有可能发生异常的代码段
}catch(异常类型){ //来捕捉异常
..... //异常以后如何处理
}
try{
..... //监视有可能发生异常的代码段
}catch(异常类型){ //来捕捉异常
..... //异常以后如何处理
}finally
三、常见的几类异常:1.Exception--异常层次结构的根类; 2.RuntimeException--许多java.lang异常的基类; 3.
四、finally:
1.无论如何finally中的代码都会被执行。除非前面遇到了 System.exit(0); //将虚拟机关闭
2.不能单独使用,只能跟try一起使用,catch则可有可无。
3.如果try中没有错误,则执行完try中后,return之前,执行finally,若果try中出现异常,则try中出现异常后面的代码不会再执行,而直接跳到catch中,再执行完catch中的代码后,return之前执行finally。除非System,exit(),否则finally总是会被执行。
五、多重catch:
1.类层次越低越往上写,类层次越高越往下写。
2.也就是说,多重catch块只会捕捉到最先产生的异常,而不是把所有的异常全部捕捉完,不论多少个catch块,最多只能执行一个。
六、throws关键字:
1.如果某个函数中的代码有可能引发异常,可以使用try/catch快进行处理,这种处理方式成为“内部处理”;
2.如果不方便在函数内部解决,则可用throws抛出异常。
3.throws用于将函数内部产生的异常抛给主调函数。一般语法: 返回值类型 函数名(参数列表) throws 异常类型{......}
七、最佳实践:
1.早抛出,晚捕获。
2.不要压制异常。
3.尽量抛出具体的异常。
4.不要再同一个try中使用catch和finally。