当前位置: 代码迷 >> Java相关 >> 错误有关问题,请求大家看看是咋回事
  详细解决方案

错误有关问题,请求大家看看是咋回事

热度:60   发布时间:2016-04-22 20:38:43.0
异常问题,请求大家看看是怎么回事
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】
  相关解决方案