[讨论]关于java 的异常处理
这段代码的功能是用一个数组的元素除以另一个数组相应的元素,已经通过编译了,我用了异常捕捉来监视运行过程,现在的问题是,只要一捕捉到异常立马就退出程序了,我想问的是,一般不是说用捕捉异常的语句之后就不会影响其余语句的运行么?这是怎么回事?class NonEvenException extends Exception{
}
class DividendIsOneException extends Exception{
}
class CustomException{
static int result;
public static void main(String args[]){
int arg1[] = {4, 8, 15, 32, 64, 127, 256, 512};
int arg2[] = {2, 1, 2, 4, 4, 2, 4, 8};
try{
for(int i = 0;i <= 7;i++ ){
if (arg2[i] == 1){
System.out.println("arg1["+i+"]除以arg2["+i+"]");
throw new DividendIsOneException();
}else{
result = arg1[i] / arg2[i];
System.out.println("arg1["+i+"]除以arg2["+i+"]等于"+result);
if(result % 2 != 0){
throw new NonEvenException();
}
}
}
}catch(NonEvenException nee){
System.out.println("结果不是偶数!!!");
}catch(DividendIsOneException de){
System.out.println("结果是本身");
}catch(ArrayIndexOutOfBoundsException ae){
System.out.println("数组非法");
}
}
}