異常初探(五)

package com.liujunhua.it01;
/**
 * throws和throw的區別:
 * throws使用在函數上,throw使用在函數內
 * throws後面跟的是異常類。可以跟多個,用逗號隔開。
 * throw後跟的是異常對象。
 */
public class Demo03 {

	public static void main(String[] args) {

		Demo demo = new Demo();
		
		int x = demo.div(4, 0);
		System.out.println("x = "+x);
		
		System.out.println("################");
	}

}
/**
 * Exception中有一個特殊的子類異常RuntimeException 運行時異常。
 * 
 * 如果在函數內拋出該異常,函數上可以不用聲明,編譯一樣通過。
 * 
 * 如果在函數上聲明瞭該異常,調用者可以不必處理。編譯一樣通過。
 * 
 * 之所以不用在函數聲明,是因爲不需要讓調用者處理。
 * 該異常發生,希望程序停止。因爲在運行時,出現了無法繼續運算的情況,希望停止程序後,對代碼進行修正。
 */
class Demo{
	/**
	 * 讓我很奇怪,怎麼拋出異常了,在主函數裏也沒有處理爲啥不提醒呢?
	 * 
	 * @param a
	 * @param b
	 * @return
	 * @throws ArithmeticException
	 */
	int div(int a, int b) throws ArithmeticException{
//		if(b == 0){
//			throw new ArithmeticException("被零除了");
//		}
		return a / b;
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章