-1

下面程序中如何执行add()方法

class ExceptionHandlingImpl
{
  static void divide()
   {
      try
      {
        double a= 1/0;
      }
      catch(Exception e)
       {     
         throw e;        
       }
   }

  static void  add()
    {
      int a=20,b=30,c;
      c=ab+b;
      System.out.println(c);
    }

 public static void main(String args[])
  {
    divide();
    add();
  }

}

为什么我在divide() 方法中给出throw 语句时add() 方法不执行。注释 throw 时 add() 方法执行得很好。无论如何,是否也使用 throw 抛出异常并且随后的方法也被执行。

4

3 回答 3

1

当您throw例外时,您基本上是在说“我不知道该怎么做”。所以异常会冒泡,直到它到达程序的最后一个堆栈帧,如果在这种情况下未处理,则在该点停止程序。

于 2013-08-22T02:36:41.520 回答
0

扔 e; 将引发异常并使程序崩溃。

 public class test
    {
      static void divide()
       {
          try
          {
            double a= 1/0;
          }
          catch(Exception e)
           {     
            System.out.println(e);        
           }
       }

      static void  add()
        {
          int a=20,b=30,c;
          c=a+b;
          System.out.println(c);
        }

     public static void main(String args[])
      {
        divide();
        add();
      }

    }
于 2013-08-22T04:17:22.050 回答
0

因为从“除法”方法中,您正在引发异常。如果你想继续,你需要捕捉而不是重新抛出异常

于 2013-08-22T02:35:32.720 回答