/* 异常类如果是RuntimeException(运行时异常)或其子类,那么在函数内使用throw抛出,不用在函数上声明抛出,也不用捕获 因为java认为当遇到RuntimeException或其子类异常时,程序就该中断,不该处理 在函数后面声明抛出的异常如果是RuntimeException或其子类,调用者不用处理,编译照样通过 运行时异常通常都是接收用户传过来的参数,是由于用户传了不合理的数据造成的异常,所以程序该停下来修改数据 异常的分类: 1:编译时检测的异常 非RuntimeException或其子类 2:编译时不检测的异常 RuntimeException或其子类 */ // 自定义的异常 class FuShuException extends Exception { private int num; public FuShuException() { super(); } public FuShuException(String message) { super(message); } public FuShuException(String message,int num) { super(message); this.num = num; } public int getNum() { return num; } } class MyMath { public int div(int a,int b)throws ArithmeticException// 声明抛出异常,有调用者处理! { if(b==0) throw new ArithmeticException("被除数为0了");// 抛出异常 return a/b; } } class Demo9 { public static void main(String[] args) { MyMath m = new MyMath(); int num = m.div(3,0); System.out.println("num="+num); System.out.println("over"); } }
java 之 ----------------- 异常 处理,布布扣,bubuko.com
java 之 ----------------- 异常 处理
原文:http://blog.csdn.net/love_javc_you/article/details/38235699