黑马程序员技术交流社区

标题: try catch finaly try有异常怎么先执行fianly? [打印本页]

作者: xiayoutianxia    时间: 2014-9-22 09:30
标题: try catch finaly try有异常怎么先执行fianly?
本帖最后由 xiayoutianxia 于 2014-10-12 15:53 编辑

public static void main(String[] args){
                System.out.print(getString()); 结果是D2.5C  没懂 怎么是finaly先运行
        }
        private static String getString() {
                String string = "2.5";
                try {
                        int a = new Integer(string);
                        string += a * 2;
                        string += "E";
                        return string;
                } catch (Exception e) {
                        string += "C";
                        return string;
                } finally {
                        System.out.print("D");
                }
        }


作者: 泡沫__opt    时间: 2014-9-22 10:19
http://blog.csdn.net/u014082617/article/details/39313047

文章中的格式三……希望可以帮助到你……
作者: 姠佐メ亾佑つ    时间: 2014-9-22 10:41
return并不是让函数马上返回,而是return语句执行后,将把返回结果放置进函数栈中,此时函数并不是马上返回,它要执行finally语句后才真正开始返回。

你直接Debug 调试下
作者: xiayoutianxia    时间: 2014-9-22 10:54
姠佐メ亾佑つ 发表于 2014-9-22 10:41
return并不是让函数马上返回,而是return语句执行后,将把返回结果放置进函数栈中,此时函数并不是马上返回 ...

Debug什么意思?
作者: 姠佐メ亾佑つ    时间: 2014-9-22 11:04
Debug什么意思:MyEclipse 的调试工具呀 让代码一步一步的运行 你就可以很清楚的观察到代码的执行步骤了撒!答案一下就清楚了哈!
作者: xiayoutianxia    时间: 2014-9-22 11:57
姠佐メ亾佑つ 发表于 2014-9-22 11:04
Debug什么意思:MyEclipse 的调试工具呀 让代码一步一步的运行 你就可以很清楚的观察到代码的执行步骤了撒 ...

我用的是  Eclipse .........
作者: rel4x    时间: 2014-9-22 12:23
标识不懂??
作者: 姠佐メ亾佑つ    时间: 2014-9-22 13:57
Eclipse 一样可以调试哈:(编译工具能敲代码 肯定也能调试代码 你直接按F11启动debug ) 你仔细看下; 下面的博客有具体的调试方法,

http://blog.csdn.net/lixnhollycrmcom/article/details/6271853
作者: 迷失的独白    时间: 2014-9-22 14:30
int a = new Integer(string);异常
string += "C";运算
return string;返回(结束函数)
System.out.print("D");finally先执行(在函数内)
然后再执行main的打印语句




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2