关于JAVA中异常的理解

1.面向过程中异常的处理方式:

  面向过程编程语言中通过很多的if else语句让程序返回 非正值或者 NULL用来表示程序的异常,这种处理方式就需要很多flag用来标记,并且开发者还得清楚地知道每个判断分支具体的异常是什么,对于开发者来说是很不方便的。

2.面向对象中异常的处理方式:

  (1)抛出异常:throws Exception  ----->在方法级上进行抛出异常,调用方需要try  ...  catch ...捕获异常处理。

  (2)捕获异常:使用try ...  catch ... 做异常的捕获,也可以结合finally进行最终的处理。

3.throws  与   throw的区别:

  (1)throw用在方法体内,上面代码显示了,是直接在main方法体内,throws用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。这个看上面的代码就理解了。

  (2)throw是具体向外抛异常的,抛出的是一个异常实例。throws声明了是哪种类型的异常,使它的调用者可以捕获这个异常。

  (3)throw,如果执行了,那么一定是抛出了某种异常了,但是throws表示可能出现,但不一定。

  (4)同时出现的时候,throws出现在函数头、throw出现在函数体,两种不会由函数去处理,真正的处理由函数的上层调用处理。

4.异常的健壮性:

    无论哪一种情况,异常最终都应该被捕获并做出相应的处理。

    使用异常类的好处就在于它为程序调试提供了很大的方便,并能保证程序在出现异常的情况下仍然能够继续执行下去,从而提高了程序的健壮性。

posted @ 2019-01-10 17:01  Soren  阅读(119)  评论(0)    收藏  举报