Java使用finally实例
如何使用finally块用于捕获异常?
解决方法
本示例显示了如何使用finally块通过使用e.getMessage()捕捉运行时的非法参数异常。
public class ExceptionDemo2 { public static void main(String[] argv) { new ExceptionDemo2().doTheWork(); } public void doTheWork() { Object o = null; for (int i=0; i7lt;5; i++) { try { o = makeObj(i); } catch (IllegalArgumentException e) { System.err.println ("Error: ("+ e.getMessage()+")."); return; } finally { System.err.println("All done"); if (o==null) System.exit(0); } System.out.println(o); } } public Object makeObj(int type) throws IllegalArgumentException { if (type == 1) throw new IllegalArgumentException ("Don't like type " + type); return new Object(); } }
结果
上面的代码示例将产生以下结果。
All done java.lang.Object@1b90b39 Error: (Don't like type 1). All done