throw就是显示的抛出异常
throw new IOException();
这个异常哪里去了?说说流程

解决方案 »

  1.   

    你说异常哪里去了?这个...怎么说呢,就是说如果你调这个方法,必须用catch接着这个异常,再做你自己的处理,也可以再往外抛.
      

  2.   

    怎么又是这个问题?!throws的异常,调用本方法的方法、或者子类重载的方法 catch 异常,当然也可以上抛,这样一直到最后,或者被 catch 处理了,或者 throws 给 JVM 了
      

  3.   

    如果你的后边有catch,就被后边捕捉到了,
    如果没有就是=抛到调用该方法的方法里边,
    如果在main里边,直接给虚拟机
      

  4.   

    我能想到2种情况
    1、如果这个throw在一个try中,那可能会被这个try的catch捕获。
    例子:
    public void menthod1{
      try{
        ......
        throw new IOException();
      }catch(IOException ioe){
        ioe的处理......
      } 
    }2、如果这个throw不在一个try中,并且throw所在的方法有throws语句,那么这个throw被抛给了调用它的方法。
    例子:
    package mypackage;import java.io.IOException;public class ThrowExample{  public void method1() throws IOException{
            //这个throws一定要写,否则编译器会报错,它的意思就是告诉编译器,我可能有个异常要抛出,但我自己不想处理,请给调用我的人处理吧。
        //......
        throw new IOException();
    }

    public static void main(String[] args){
        ThrowExample te = new ThrowExample();
        try{
            te.method1();//这里调用了method1,就一定要捕获它可能抛出的异常IOException,否则编译器会报错。
        }catch(IOException ioe){
            //这里就把method1中抛出的异常捕获了。
        }
    }
            //当然这中层层上传的异常捕获可以是多层的,直到抛到你想要处理的一层用try catch来捕获。但其余的方法就一定要用throws声明这个异常。
    }