当前位置:  技术问答>java相关

执行顺序

    来源: 互联网  发布时间:2015-07-27

    本文导语:  如下代码: public synchronized int executeUpdate(String usrId,String query, String dbname) throws SQLException      {    int rowaffected = 0;    Connection con = null;    con =getConnection(dbname,true) ;    if(con !=null){    Statement ...

如下代码:
public synchronized int executeUpdate(String usrId,String query, String dbname) throws SQLException
     {
   int rowaffected = 0;
   Connection con = null;
   con =getConnection(dbname,true) ;
   if(con !=null){
   Statement stmt = con.createStatement();
   rowaffected = stmt.executeUpdate(query);
   stmt.close();
   stmt = null;
   }
   try{
                  commit(con);
   }catch(SQLException commitEx){
                     rowaffected = 0;
                     rollback(con);
                     throw commitEx;
   }finally{  
if(con !=null)
   close(con);
}
   return rowaffected;
  }


我想问当产生违例时.是否执行finally块中的代码?throw 是否像return一样结束
此方法.

|
任何时候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.(FileInputStream.java:64)
        at java.io.FileReader.(FileReader.java:38)
        at Test.main(Test.java:7)

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

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

    
 
 

您可能感兴趣的文章:

  • fork() 父子进程执行顺序问题
  • 多个$(document).ready()的执行顺序实例分析
  • 依赖的执行顺序问题
  • 语句的执行顺序
  • Makefile中目标的执行顺序
  • (在线等)关于主程序和线程的执行顺序。。。大家帮我看看
  • 请教一个难题:关于执行顺序。
  • try catch finally的执行顺序深入分析
  • 请问谁知道子进程用wait结束是不是相当于顺序执行啊!
  • HTML标签参考手册 iis7站长之家
  • 求解释每一个语句执行的顺序
  • jsp页面中的代码执行加载顺序介绍
  • SQL Select语句完整的执行顺序
  • SQL语句执行顺序图文介绍
  • 问一个关于java小程序执行顺序的问题
  • jquery中ajax函数执行顺序问题之如何设置同步
  • 执行Get request操作时,snmp v2消息报文中的PDU包括那些内容,顺序是什么样的,有OID吗?
  • sql语句not and or执行顺序(实例解析)
  • 关于父子进程执行顺序的问题
  • oracle select执行顺序的详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • 怎么在一个程序的执行过程中中止执行它?比如一个按钮的响应程序中,执行一半中止??20分!!!
  • linux下通过crond实现自动执行程序
  • 我用GCC生成的可执行文件无法直接在shell命令行下执行,这是为什么?可以用调试器调入执行。我用Red Hat7.0
  • linux下nm命令(显示可执行文件的符号信息)介绍以及常见nm命令用法举例
  • 如何实现一个线程组内多线程的非同不执行,即一个线程执行完毕后再执行下一个线程???
  • Microsoft IE MSHTML内存破坏远程代码执行漏洞
  • 请问:我发现如果在/usr/local/bin 与/usr/bin下都有同一个执行文件时,当在shell下执行时,只会执行/usr/local/bin,下的,怎么改过来?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • SUSE10下,如何使用perl语言执行一条语句:从一台机器telnet到远端另一台机器,在远端机器上执行命令,并能获取到执行结果。请高手指点,Very 谢谢~
  • linux下不使用sudo命令执行docker的操作步骤
  • 我在UNIX下用PRO*C写了个程序,每次执行都得一个多小时,我想把它放到后台执行,也就是我想交给服务器执行,而我想产掉终端窗口,应该怎么做呢
  • Mysql Select查询执行流程介绍及实例
  • 怎样执行可执行文件?
  • redhat7.1下可执行文件不能执行????
  • C中用system系统调用执行command,执行过程中死锁,如何处理?
  • 在B shell里怎麽执行曾经执行过的命令
  • 请问JSP中的<jsp:forward page=""/>执行后,后边的操作还会执行吗?
  • 执行当前目录下可执行程序时前面必须要加上./才可以,如何解决?
  • 如何在LINUX中在系统启动后自动执行一个执行一个程序?
  • linux在脚本执行命令和直接在命令行执行命令有什么区别


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3