Java异常处理综合例子(try、catch、finally、throws、throw)
佟强 2009年11月4日 http://blog.csdn.net/microtong
package cn.edu.uibe.exp; class MyExp extends Exception{ private static final long serialVersionUID = 1L; MyExp(){ super("自定义异常"); } } public class Exp2 { public void f1(int n) { System.out.println("f1前面"); f2(n); System.out.println("f1后面"); } public void f2(int n) { System.out.println("f2前面"); try{ System.out.println("try的前面"); f3(n); System.out.println("try的后面"); //发生异常时不会输出 }catch(MyExp e){ System.err.println(e.getMessage()); }finally{ System.out.println("无论是否发生异常"); } System.out.println("f2后面"); } public void f3(int n) throws MyExp{ System.out.println("f3前面"); f4(n); System.out.println("f3后面"); //发生异常时不会输出 } public void f4(int n) throws MyExp{ System.out.println("f4前面"); if(n<0){ throw new MyExp(); } System.out.println(n); //发生异常时不会输出 System.out.println("f4后面"); //发生异常时不会输出 } public static void main(String[] args) { Exp2 exp = new Exp2(); exp.f1(-4); } }