to ZeroC:
好像不是你说得那样!
象是结束本次循环而进入下次循环(当条件成立时)

解决方案 »

  1.   

    其实很简单,写个测试程序不就知道了!一层一层把异常传到能捕获的地方,如果没有捕获则直到传到main。其实楼上的都不是绝对的,它可以结束本次循环,到下一次循环,也可以直接跳出所有的循环,关键是看你的异常处理是在哪!
      

  2.   

    看代码:
           1.结束当前循环,到下一次循环。 
           //ddd 是一个包含ArrayList对象的ArrayList
            for (int i = 0; i < ddd.size(); i++) {
                ArrayList temp1 = (ArrayList) ddd.get(i);
                //temp1中所有的元素都是Double
                Double s = new Double(0.0);
                try {
                    if (i != 2)
                        s = (Double) (temp1.get(0));
                    else
                        temp1 = (ArrayList) (temp1.get(0)); //exception
                }
                catch (ClassCastException ex) {
                    System.out.println("catch ClassCastException");
                }            
               System.out.println("T is " + s.doubleValue();
            }
      

  3.   

    2.跳出所有循环。 
           //ddd 是一个包含ArrayList对象的ArrayList   try {
            for (int i = 0; i < ddd.size(); i++) {
                ArrayList temp1 = (ArrayList) ddd.get(i);
                //temp1中所有的元素都是Double
                Double s = new Double(0.0);
                if (i != 2)
                     s = (Double) (temp1.get(0));
               else
                     temp1 = (ArrayList) (temp1.get(0)); //exception
               System.out.println("T is " + s.doubleValue();
            }
          }
          catch (ClassCastException ex) {
               System.out.println("catch ClassCastException");
          }
      

  4.   

    to 小强:
            for (int i = 0; i < ddd.size(); i++) {
                ArrayList temp1 = (ArrayList) ddd.get(i);
                //temp1中所有的元素都是Double
                Double s = new Double(0.0);
                try {
                    if (i != 2)
                        s = (Double) (temp1.get(0));
                    else
                        temp1 = (ArrayList) (temp1.get(0)); //exception
                }
                catch (ClassCastException ex) {
                    System.out.println("catch ClassCastException");把这句替换为
                    throw new ClassCastException();
                }            
               System.out.println("T is " + s.doubleValue();
            }
    System.out.println("catch ClassCastException");把这句替换为
                    throw new ClassCastException();
    呢??