今天考java有一条题目我错了,回来试试,才知道我的java还有好多细节没注意。
public class Test { public static String str = "";public static void fun(int i) { try { if(i == 1) { throw new Exception();}str += "1";} catch (Exception e) { // TODO: handle exceptionstr += "2";return;}finally{ str += "3";}str += "4";}public static void main(String[] args) { fun(0);fun(1);System.out.println(str);} } 问最后打印的结果,我的答案是1342,可是实际是13423。 我的错误时认为在catch中return之后,就从此处应该退出这个方法了,可是实际是你必须还得把finally中的代码执行一遍。 还有注意的是,try块的时候,有异常抛出,则从抛出异常处跳出try块,开始查找匹配的catch。 我的四分啊.....可是这道题很不错!