新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java入門Day7:異常,Javase結(jié)束-創(chuàng)新互聯(lián)
1. 什么是異常?
分享名稱:Java入門Day7:異常,Javase結(jié)束-創(chuàng)新互聯(lián)
本文地址:http://fisionsoft.com.cn/article/cdpgog.html
在程序運(yùn)行的過程中,出現(xiàn)了意料之外的情況,就是異常。比如:輸入的格式不規(guī)范,查找的地址不存在,內(nèi)存溢出等等。
我們通過Exception
拋出異常,使我們程序的運(yùn)行不至于崩潰。
- 檢查性異常:用戶錯(cuò)誤或問題引起的異常,比如輸入不規(guī)范。
- 運(yùn)行時(shí)異常:是可以避免和修正的,可以在編譯時(shí)被忽略。
- 錯(cuò)誤:錯(cuò)誤不是異常,是脫離控制的,比如內(nèi)存溢出。ERROR
Java把異常當(dāng)做對象來處理,并提供了java.lang.Throwable作為所有異常的超類。
- Error是錯(cuò)誤,是由JVM生成并拋出的,大多數(shù)時(shí)候與代碼無關(guān)。
- 發(fā)生Error時(shí),一般程序會(huì)直接崩潰。
- ArrayIndexOutOfBoundsException 數(shù)組下標(biāo)越界異常
- NullPointerException 空指針異常
- ArithmeticException 算術(shù)異常
- MissResourceException 資源丟失異常
- ClassNotFoundException 類丟失異常
包括但不限于這些異常都是不檢查異常,程序中可以選擇捕獲處理,也可以選擇忽略。
這些異常都是由程序邏輯錯(cuò)誤引起的,應(yīng)該盡量避免。
throw
一般在方法中使用
public class Demo01 {public static void main(String[] args) {new Demo01().test(1, 0);
}
public void test(int a, int b){if (b==0){throw new ArithmeticException();
}
System.out.println(a/b);
}
}
throws
在方法聲明中使用
public class Demo01 {public static void main(String[] args) throws ArithmeticException{new Demo01().test(1, 0);
}
public void test(int a, int b){System.out.println(a/b);
}
}
3.3 捕獲異常public class Demo01 {public static void main(String[] args) {int a = 0 ;
int b = 1 ;
try {//監(jiān)控區(qū)域
System.out.println(b/a);
}catch (ArithmeticException e){//捕獲異常
System.out.println("異常");
}finally {//忽略異常
System.out.println("F");
}
}
}
try
監(jiān)控區(qū)域是否有異常。catch()
捕獲異常,可以有多個(gè)catch()
捕獲不同的異常,但從上往下的異常級別應(yīng)該是從小到大的。finally
忽略異常。try
和catch()
必須一起出現(xiàn)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
分享名稱:Java入門Day7:異常,Javase結(jié)束-創(chuàng)新互聯(lián)
本文地址:http://fisionsoft.com.cn/article/cdpgog.html