这种try 结构表示什么意思
(一般理解try  catch (异常捕获)

但是下面用的哦是
try    finally {()
表示什么意思,如果过程有异常会如哦?
try { conn = DBConnectionManager.getConnection();
ps = conn.prepareStatement(sbSel.toString());
ps.setString(1, bonusId);
rs = ps.executeQuery(); while (rs.next()) {
....... } finally {
DBConnectionManager.closeRS(rs);
DBConnectionManager.closeStmt(ps);
if (inTransaction == false)
DBConnectionManager.freeConnection(conn);
}

解决方案 »

  1.   

    用来执行一段代码不管在前面定义的try语句中是否有异常或运行时错误发生。
      

  2.   

    try 结束后执行finally的东西,我觉得没什么大用。
      

  3.   

    捕获异常的 ,如果程序出现异常,会抛出异常,catch中会进行响应捕获处理,而finally 是程序中必须要执行的一部分,不论是不是发生异常
      

  4.   

    liujun3512159
     
    (巴顿将军) ---感觉是有道理的
    如果有异常可以如下定义:
    try    
    catch ()
    finally {()
    甚至最后面还可以 catch () 
      

  5.   

    你也看到了,在你的代码中,finally用来关闭连接,释放资源。
      

  6.   

    不管程序执行try还是catch,finally 始终会执行。
    通常在finally语句中是进行资源的清除工作。如关闭打开的文件和通讯句柄,或者数据库链接等。
      

  7.   

    除非你在try里面System.exit(0),不然finally都会执行,执行一些关闭流等操作
      

  8.   

    呵呵~~~顾名思义finally 是用来做收尾工作的,因为它在任何情况下都会执行,一般用来关闭连接,关闭打开的文件等等。
      

  9.   

    我晕。楼主连基本语法都不回就跑去写程序啊,正规的写法是这样的
    try{
    }catch(Exception e){
    }finally{
    }
    这是java捕捉异常的语法,把你的语句都写在try内,如果这些语句出现了一场会被catch捕捉到,你可以再catch里写异常的处理语句,finally里是最终处理语句,不管你的语句有没有异常,最后都会执行到finally里的语句。
    比如说访问数据库,你在try里写读写数据库语句,一旦出现异常就可以再catch里print异常信息,在finally里可以写数据库连接关闭语句,以防止出现异常无法正常关闭数据库连接的情况。
      

  10.   

    完整的语句应该是
    try{}
    catch(){}
    finally{}
    finally可以省略,意思不管是否程序捕获到异常都要执行的代码.
      

  11.   

    catch{}可以不要,只是异常会向上抛出而已,加了catch就是自己在处理异常了,无论出不出异常,finally都会执行
      

  12.   

    不管程序执行try还是catch,finally 始终会执行。 
    通常在finally语句中是进行资源的清除工作。如关闭打开的文件和通讯句柄,或者数据库链接等。
      

  13.   

    try的后面必须接catch或finally或者都接,但不能一个都不接;
    finally的主要作用是在出现异常后无论怎样都要执行finally里的语句.
    你可以看看这个代码:
    public static void main(String[] args) {
    try{
    int i=1/0;
    }
    catch(Exception e) {
    System.out.println("在catch里");
    }
    finally {
    System.out.println("在finally里");
    }
    }
    //  输出结果:
    // 在catch里
    // 在finally里
      

  14.   

    如果你用try不用catch是没有意义的 finaly表示始终都会执行
      

  15.   

      执行完try里面的代码,无论里面有什么异常,最后会在执行finally里面的代码
    而catch只是在发生异常时执行
      

  16.   

    这个思路我没觉得有错
    如果有一个异常我打算抛给上一层处理,其实就是通知调用的方法这个过程有问题,我当然不catch。
    但如果这个过程内临时使用了系统资源,你总不能也让上一层帮你释放吧。
    所以要用finally来做这个事。
    要灵活用运
      

  17.   

    有的时候,系统的架构就是需要上抛异常,无需自己处理
    所以try{}
        finally{}
    就可以了,不用加catch