【异常-举例5:throws 和 throw 的区别】

package com.test;

/**
 * @author shusheng
 * @description
 * @Email [email protected]
 * @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);
        }
    }

}

猜你喜欢

转载自www.cnblogs.com/zuixinxian/p/9766971.html