Java方法中捕获多个异常的处理机制

    /**
     * @author wangyunhan
     * @throws Exception
     */
    public static void main(String[] argßs) throws Exception {
        testAbove();
    }

    public static void testException() throws Exception  {
        try {
            System.out.println(10%0);
        }catch(ArithmeticException r) {
            System.out.println("Catch function exception" + r.toString());
        }
        catch (Exception e) {
            throw new Exception("testException()方法出现异常"+e.toString());
        }
    }

    public static void testAbove() throws Exception {
        try {
            testException();
            System.out.println("execute test above ");
        }catch(Exception e) {
            throw new Exception("testAbove()方法执行出现异常"+e.toString());
        }
    }

以上代码的执行结果

catchjava.lang.ArithmeticException: / by zero
test above execute

  

分析:

  1. 一个方法捕获多个异常,异常如果已经被catch,则后面catch不执行
  2. 异常如果已经被catch并且不抛出异常,则方法不抛出异常
原文地址:https://www.cnblogs.com/xiaochengzi/p/7644346.html