[]你必须要知道的Java 异常的捕获与处理(详解附源码)( 三 )


(4)与try之后的每一个catch进行匹配 , 如果匹配成功 , 则使用指定的catch进行处理 , 如果没有匹配成功 , 则向后面的catch继续匹配 , 如果没有任何的catch匹配成功 , 则这个时候将交给JVM执行默认处理;
(5)不管是否有异常都会执行finally程序 , 如果此时没有异常 , 执行完finally , 则会继续执行程序之中的其他代码 , 如果此时有异常没有能够处理(没有一个catch可以满足) , 那么也会执行finally , 但是执行完finally之后 , 将默认交给JVM进行异常的信息输出 , 并且程序中断 。
通过以上的分析可以发现 , 实际上catch捕获异常类型的操作 , 就和方法接收参数是一样的 , 那么按照之前所学习过的对象多态性来讲 , 所有的异常类都是Exception的子类 , 那么这个时候 , 实际上所有的异常都可以使用Exception进行接收:public class Test {public static void main(String args[]) {System.out.println("1、除法计算开始 。");try {int x = Integer.parseInt(args[0]);int y = Integer.parseInt(args[1]);int result = x / y;System.out.println("2、除法计算结果:" + result);} catch (Exception e) {e.printStackTrace();} finally {System.out.println("不管是否出现异常都执行");}System.out.println("3、除法计算结束 。");}}
这时应该可以感受到异常处理所带来的好处了 。但是这种操作也存在一种问题:如果在一些异常处理要求严格的项目之中 , 异常必须分别处理 , 如果现在异常的处理要求不是很严格 , 直接编写Exception就足够了 。


推荐阅读