一. 異常代碼示例
對于很多剛開始學(xué)習(xí)Java的人來說,是很容易遇到各種異常的,比如算數(shù)異常。今天小編就以一個實際案例來給大家進行說明:
public class Test {
public static void main(String[] args) {
int a = 1;
int b = 0;
int c = a/b;
System.out.println(c);
}
}
運行上面的程序,會出現(xiàn)如下異常:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at Test.main(Test.java:5)
二. 解決方案
很多初學(xué)者遇到異常時通常都不會查看異常信息,而是通過直接查看代碼來找出原因。當(dāng)然,在代碼很少的情況下,這是可以的。但這樣會形成一個不良的習(xí)慣:在后續(xù)編碼的過程中,經(jīng)常會忽視異常信息。如果我們直接在編碼中查找異常,在代碼很多的情況下,查找異常的效率極低,還可能無法找到異常引發(fā)的原因。
我們正確解決異常的方式,首先應(yīng)該是查看異常信息,比如該案例中出現(xiàn)了
ArithmeticException 異常,這是一個算數(shù)的異常。這個異常出現(xiàn)的位置如下:
at Test.main(Test.java:5)
由這一行異常信息確定,也就是在 Test 這個類的第5行出現(xiàn)了算數(shù)異常,那么只需要去查看第5行代碼:
int c = a/b;
既然是算數(shù)異常,那就是說在執(zhí)行int c = a/b;時出現(xiàn)的異常,說明這里的代碼有問題。那么我們可以在這之前做一個判斷邏輯,判斷出b不等于0才能執(zhí)行后面的算數(shù)運算,代碼如下:
public class Test {
public static void main(String[] args) {
int a=1;
int b=0;
//除數(shù)不能等于0
if(b!=0){
System.out.println(a/b);
}else{
System.out.println("0不可以做為除數(shù)");
}
}
}
那為什么要在這里加這個判斷邏輯呢?這是因為我們要把除數(shù)不能等于0的情況給考慮到,不然也會產(chǎn)生異常,這些其實都是一些基礎(chǔ)知識。
三. 總結(jié)
通過這個案例,我們會發(fā)現(xiàn),在學(xué)習(xí)的過程中,我們的基礎(chǔ)知識一定要牢固!基礎(chǔ)知識薄弱的童鞋,可以在網(wǎng)上查閱資料進行學(xué)習(xí),比如在千鋒教育官網(wǎng)上,就有很多免費的Java學(xué)習(xí)資料。當(dāng)然你也可以在B站上搜索千鋒,也可以找到很多免費的Java學(xué)習(xí)資料。