关于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.异常的健壮性:
无论哪一种情况,异常最终都应该被捕获并做出相应的处理。
使用异常类的好处就在于它为程序调试提供了很大的方便,并能保证程序在出现异常的情况下仍然能够继续执行下去,从而提高了程序的健壮性。

浙公网安备 33010602011771号