您能告诉我们以下程序中的异常流程吗?

时间:2015-02-24 14:11:06

标签: java

public void shape() throws ArithmeticException  {       
        try{            
            int i=2/0;                      
            throw new ArithmeticException();            
        }catch(ArithmeticException e){
            System.out.println("catch "+e);
        }
    }

请告诉我异常流程

2 个答案:

答案 0 :(得分:2)

public void shape() throws ArithmeticException  {       
    try{            
        int i=2/0;  //here exception will be thrown                    
        throw new ArithmeticException(); //this line will never be executed           
    }catch(ArithmeticException e){
        System.out.println("catch "+e);
    }
}

将从包含2/0的行抛出异常,因此它将在throw new ArithmeticException();之前发生。然后它将由您的catch块处理。

答案 1 :(得分:0)

它会在ArithmeticException的行上抛出"/ by zero"消息int i=2/0

在抛出自己的自定义ArithmeticException之前,你的catch块会捕获抛出的异常。