【异常-举例5:throws 和 throw 的区别】
package com.test; /** * @author shusheng * @description * @Email shusheng@yiji.com * @date 2018/10/10 14:24 */ public class ExceptionDemo5 { /**throws 和 throw 的区别 * throws 用在方法声明后面,跟的是异常类名可以跟多个异常类名,用逗号隔开 表示抛出异常,由该方法的调用者来处理 throws 表示出现异常的一种可能性,并不一定会发生这些异常 throw 用在方法体内,跟的是异常对象名只能抛出一个异常对象名 表示抛出异常,由方法体内的语句处理 throw 则是抛出了异常,执行 throw 则一定抛出了某种异常*/ public static void main(String[] args) { // method1(); /**方法method1()异常输出:Exception in thread "main" java.lang.ArithmeticException at com.test.ExceptionDemo4.method(ExceptionDemo4.java:32) at com.test.ExceptionDemo4.main(ExceptionDemo4.java:13)*/ System.out.println("-------------------------------------"); try { method2(); } catch (Exception e) { e.printStackTrace(); /**方法method()2异常输出:Exception in thread "main" java.lang.ArithmeticException: / by zero at com.test.ExceptionDemo4.method2(ExceptionDemo4.java:54) at com.test.ExceptionDemo4.main(ExceptionDemo4.java:43)*/ } } public static void method1() { int a = 10; int b = 0; if (b == 0) { throw new ArithmeticException(); } else { System.out.println(a / b); } } public static void method2() throws Exception { int a = 10; int b = 0; if (b == 0) { throw new Exception(); } else { System.out.println(a / b); } } }
终身学习者