finally块代码会执行
即使return也不能结束
--- ZJQ

解决方案 »

  1.   

    是的,所以如果产生违例,finally中的代码就不会被执行了。throw 以后代码就结束了。
      

  2.   

    任何时候finally块中的语句都会被执行,请看如下测试程序:
    import java.io.*;
    class Test{
    public static void main(String[] args)
    throws FileNotFoundException, IOException{
    try{
    BufferedReader in=new BufferedReader(new FileReader("xxx.exe"));
    in.close();
    }catch(FileNotFoundException e){
    throw e;
    }catch(IOException e){
    throw e;
    }finally{
    System.out.println("error");//用于验证
    }
    }
    }
    执行结果:error //证明finally语句块被执行
    Exception in thread "main" java.io.FileNotFoundException: ok.exe (系统找不到指定
    的文件。)
            at java.io.FileInputStream.open(Native Method)
            at java.io.FileInputStream.<init>(FileInputStream.java:64)
            at java.io.FileReader.<init>(FileReader.java:38)
            at Test.main(Test.java:7)
      

  3.   

    sorrY for zjq1980,分给错了.应该给你最多分.特此声明.你的回答与我的
    测试完全一直.谢谢.