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