不多说,
1 , try绝对不能单独出现,要么和catch一起,要么和finally一起,要么三个一起出现;
2 , try..catch捕获异常, 如果加上finally,那么finally里的东西一定会执行,
注:(finally里的东西可能会抛异常,导致程序提前结束,两个情况 (1) ,System.exit(0) 这个代码片段的出现 , (2) ,finally中抛异常了)
3 , 这是对2的补充,如果finally中出现异常了,那么如果你调用这个方法,整个程序什么都不会返回 ;
总之一句话 , 如果finally不执行完(也就是说finally报错了),程序不会给你返回你想要的信息!
这是我的一个小栗子:
/** * Created by Administrator on 2017/6/28. */ public class Test { public int haha(){ try { int a = 2/0 ; System.out.print(a); return a ; }catch (Exception e){ e.getMessage(); return 0 ; }finally { System.exit(0); System.out.print("finally..."); //System.out.print(2/0); } } public static void main(String [] args){ System.out.print(new Test().haha()); } }