如果你想让外部调用者知道内部有错误产生就用throw  e;
如果不想传到外部就用catch()处理.

解决方案 »

  1.   

    java的方法可以抛出系统定义的异常和自己定义的异常。
    如:类A调用了类B的方法bpaint()
    bpaint()
    {
      Graphics  g=image.getGraphics();
      try
      {
          code  that  might  throw  exceptions
      }
      catch(MalformedURLException  e)
      {
            g.dispose();
            throw  e;
      }
      
      throw new java.lang.Error("抛出自己定义的异常") ;
    }在类A中调用类B的bpaint()方法的地方,如果bpaint()出现异常则抛出e,不出现异常抛出自己定义的"抛出自己定义的异常"异常。
      

  2.   

    throw表示此处不做处理,那么对异常的处理将交给该方法的调用者来进行。
      

  3.   

    上述评论非常令人信服,一句话,重新抛出异常是为了让上一层的违例控制器知道
    它调用的方法出现了什麽问题,从而可以提供更加明确异常信息,否则,上层控制器only知道下层出现了异常,但具体信息是不明确的