黑马程序员——java小结_009 _异常

来源:互联网 发布:第四类接触 知乎 编辑:程序博客网 时间:2024/06/15 08:08

------- android培训、java培训、期待与您交流! ----------

         异常:就是不正常,是指程序在运行时出现的不正常情况。

         说白了就是程序告诉你“我出问题了,你看着办吧”。

        

         java中异常的体系  Throwable

Error

通常指JVM出现重大问题如:运行的类不存在或者内存溢出等。

不需要编写针对代码对其处理,程序无法处理。

助记:这种情况下,可以直白的理解为程序想告诉你“我已经没救了,咱俩分手吧      ╮(╯▽╰)╭拜拜”

Exception

在运行时运行出现的一些情况,可以通过try,catch,finally处理

         助记:这种情况下,可以理解为程序想告诉你“我觉得我还有救,要不你再瞅瞅?不要放弃治疗啊!”

         

“治疗”的方式呢就两种,要么try,要么抛

 

异常处理格式

try{

                   //可能出异常的代码

} catch(异常类  对象){

                   //处理该异常类型的语句

}

finally {

                   //一定会执行的代码

                   //catch块使用System.exit(1);除外

}

 

异常分类:(这个是常识要稍微记一下)

编译时被检查异常;       ---> Checked异常

在程序中必须使用try...catch处理;

编译时不被检测的异常;        ---> Runtime异常

可以不使用try...catch处理,但一旦出现异常就将由JVM处理。

 

说完try咱再来说抛

抛主要分两种throw和throws

throws指声明异常

在可能出现异常的方法上声明抛出可能出现异常的类型:强调在方法上。

当前方法不知道如何处理这种异常,可将该异常交给上一级调用者来处理(非RuntimeException类型的异常)。

方法一旦使用throws声明抛出方法内可能出现的异常类型, 该方法就可以不再过问该异常了;

一个方法调用另一个使用throws声明抛出的方法,自己要么try...catch, 要么也throws;

 

throw指直接抛出异常

         自行抛出一个异常对象,抛出异常类的对象:强调在方法内

         若throw抛出的是Runtime异常:程序可以显示使用try...catch来捕获并处理,也可以不管,直接交给方法调用者处理;

         若throw抛出Checked异常:要么放在try里自己处理,要么放在一个throws声明的方法里面,交给调用者处理。

 

throws与throw的区别:

 

throws用于在方法上声明该方法不需要处理的异常类型。

throw用于抛出具体异常类的对象。

thorws用在方法上,后面跟异常类名,可以是多个异常类。

throw用在方法内,后面跟异常对象,只能是一个。

助记:throws在方法上,以内可以跟多个,所以是复数(+s)

 

------- android培训、java培训、期待与您交流! ----------
0 0
原创粉丝点击