class NestTry{
public static void main(String [] args){
boolean tag=false;
try{
int a=args.length;
int b=42/a;
System.out.println("a = "+a);
try{
tag=true;
if(a==1)a=a/(a-a);
if(a==2){int c[]={1};c[42]=99;}
}catch(ArrayIndexOutOfBoundsException e)
{System.out.println("数组越界异常:"+e);}
}catch(ArithmeticException e)
{
if(tag)
System.out.print("里层try语句跑出的");
System.out.print("除数为零异常:"+e);
}
}
}
出现的错误是
NestTry.java:15: 错误: 不兼容的类型
}catch(ArithmeticException e)
需要:Throwable
找到: ArithmeticException
1 个错误
------解决思路----------------------
晕,自己编译没报错
只从代码分析,当a不为1,2时
根本就没有抛出异常
你的e怎么打印?
------解决思路----------------------
理解失误
重新检查了下
不应该报错才是,没有遗漏其他异常
可能和编译环境有关?我的没报错...
------解决思路----------------------
ArithmeticException在JDK1.0就已经引入了
用的什么版本的JDK?
打一下javac -version,我的是javac 1.8.0
还有java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) Client VM (build 25.25-b02, mixed mode, sharing)
我的执行结果:【除数为零异常:java.lang.ArithmeticException: / by zero】