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