throws与throw的应用
在开发者弄个,像try..catch...finally, throws,throw联合使用的情况比较多,
例如:现在要设计一个相除的方法,但是要求必须打印“计算开始”信息,“计算结束信息”如果有异常则肯定交给被调用处处理,
范例:
package test2; class Math1 { public int dev(int i, int j) throws Exception {// 方法可以不处理异常 System.out.println("*****计算开始********"); int temp = 0;// 声明整形变量 try { temp = i / j; // 如果产生异常,则执行catch } catch (Exception e) {// 捕获异常 throw e;// 把异常交给被调用处 } finally {// 不管是否产生异常都执行此代码 System.out.println("*******计算结束*******"); } return temp; } } public class ThrowsDemo02 { public static void main(String[] args) { Math1 m = new Math1();// 实例化Math对象 try { System.out.println("除法操作:" + m.dev(10, 0)); } catch (Exception e) {// 进行异常的捕捉 System.out.println("异常产生:" + e); } } }
结果:
*****计算开始********
*******计算结束*******
异常产生:java.lang.ArithmeticException: / by zero