LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1534|回复: 11

一个关于try...finally...的结构的疑惑

[复制链接]
发表于 2005-8-14 16:06:59 | 显示全部楼层 |阅读模式
请看下面这段代码:
[PHP]public class Test {
  public static void main(String[] args){
               
                try{
                        System.out.println("Before return statement.");
                        return;
                }
                finally{
                        System.out.println("OK! enter finally block.");
                }
  }
}[/PHP]

运行结果:
[PHP]Before return statement.
OK! enter finally block.[/PHP]

try块中已经return了,怎么还是运行到了finally块中了??

请各位大侠指点一下!!!多谢!
发表于 2005-8-15 00:03:26 | 显示全部楼层
finally语句无论什么情况都会被执行,除非你用System.exit(0)语句才行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-15 11:58:43 | 显示全部楼层
我认为,return 语句在程序设计里就意味着被调用方法的退栈,finally块中的语句是不是应该在return之前调用呢?
可这就打乱了语句的顺序执行呀?难道finally块中执行是独立出来,而不是在方法中调用的?
回复 支持 反对

使用道具 举报

发表于 2005-8-15 13:37:00 | 显示全部楼层
按照书上说的 是无论try中出现什么情况,finally的语句都会执行,比如你try里面有一个Exception
回复 支持 反对

使用道具 举报

发表于 2005-8-15 15:01:42 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-15 20:40:35 | 显示全部楼层
楼上兄弟给的链接失效了,请更正!
回复 支持 反对

使用道具 举报

发表于 2005-8-15 23:30:07 | 显示全部楼层
把后面的句号去掉就好了
回复 支持 反对

使用道具 举报

发表于 2005-8-15 23:38:17 | 显示全部楼层
楼主,问你点题外话,你的DEBIAN是图形界面的吗?
回复 支持 反对

使用道具 举报

发表于 2005-8-15 23:39:46 | 显示全部楼层
我也装过,可是等升完级,登陆后确是文本界面。给点帮助,谢啦!
回复 支持 反对

使用道具 举报

发表于 2005-8-16 09:59:06 | 显示全部楼层
Post by xiaoqi
我也装过,可是等升完级,登陆后确是文本界面。给点帮助,谢啦!

如果你用的是gnome的话,装一个gdm;KDE的话装kdm。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表