異常-throws的方式處理異常

ZHOU_VIP發表於2018-09-02

定義功能方法時,需要把出現的問題暴露出來讓呼叫者去處理。那麼就通過throws在方法上標識。

package cn.itcast_01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
 * 有些時候,我們是可以對異常進行處理的,但是又有些時候,我們根本就沒有許可權去處理某個異常。
 * 或者說,我處理不了,我就不處理了。
 * 為了解決出錯問題,Java針對這種情況,就提供了另一種處理方案:丟擲。
 * 
 * 格式:
 *         throws 異常類名
 *         注意:這個格式必須跟在方法的括號後面。
 * 
 * 注意:
 *         儘量不要在main方法上丟擲異常。
 *         但是我講課為了方便我就這樣做了。
 * 
 * 小結:
 *         編譯期異常丟擲,將來呼叫者必須處理。
 *         執行期異常丟擲,將來呼叫可以不用處理。
 */
public class ExceptionDemo {
    public static void main(String[] args) {
        System.out.println("今天天氣很好");
        try {
            method();//編譯期異常丟擲,必須處理
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println("但是就是不該有霧霾");

        method2();//執行期異常丟擲,可以不用處理。
    }

    // 執行期異常的丟擲
    public static void method2() throws ArithmeticException {
        int a = 10;
        int b = 0;
        System.out.println(a / b);
    }

    // 編譯期異常的丟擲
    // 在方法宣告上丟擲,是為了告訴呼叫者,你注意了,我有問題。
    public static void method() throws ParseException {
        String s = "2014-11-20";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d = sdf.parse(s);
        System.out.println(d);
    }
}

 

相關文章