Java中finally的问题

2014-11-23 17:46:18 · 作者: · 浏览: 16

  finally是终极的,不管程序运行时是否出现异常, finally都是肯定要执行的,如果程序没有出现异常,那么catch中的语句不会执行,如果写在finally中 是肯定能运行的到的


  ===========================================================


  一个比较绕的例子:


  try {


  try {


  try {


  String s = null;


  s.charAt(0);


  } catch(NullPointerException nu) {


  System.out.println(nu);


  int i = 0;


  int j = 10 / i;


  } finally {


  System.out.println("Finally");


  }


  } catch(ArithmeticException e) {


  System.out.println(e);


  throw new IOException();


  } finally {


  System.out.println("Finally 2");


  }