今天考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 exception
str += "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。
个人四分啊.....但是这道题很不错!java