finally语句块中的内容是一定会被执行的

解决方案 »

  1.   

    希望catch块中没有抛异常的代码,希望catch块抛异常的代码不会影响资源的关闭。
      

  2.   

    这个我知道,但是如果没有finally语句块,下面的语句也会被执行的,finally的意义好像就没有必要了 谢谢你回答我!
      

  3.   

    比如try里打开文件,并往里面写入东西
    打开时OK,写入时发生异常了这个时候应该在catch里做异常处理,比如写一些log或者弹出一些对话框来由于无论是否发生异常,都应该关闭文件
    所以把文件关闭处理,写在catch里就不太合适了应该放到finally里
      

  4.   

    这个我知道,但是如果没有finally语句块,下面的语句也会被执行的,finally的意义好像就没有必要了 。
    关闭操作我想放在catch后面也可以吧 就是普通的语句快里
      

  5.   

    finally 主要是在try块发生异常时,进行一些资源的关闭工作。
    如果try块发生异常,异常直接到catch里面,这时就需要到finally里面去关闭资源。
      

  6.   

    首先,楼主如果你必须能保证 catch掉try的一切异常。但实际上很多时候并不是这样,好比我做sql插入 要catch sqlException,但因为一些原因,会出现runtime异常,这时候你的catch就抓不住了。而final就可以走。
    应用场景,db rollback,打log,算method调用时间等等其次,try 可以和finally配合用,不需要catch的。
    应用场景 打log,计算method调用时间等。