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;
}
}
異常初探(五)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.