NO1 java.lang.NullPointerException
這個錯誤是遇到最多的錯誤,但是一點都不可怕
首先找錯誤出現的位置,去找其中的變量,一般就可以發現哪一個變量沒有初始化,建議需要判斷是否爲null的時候一定要判斷一下,比較的話請使用“123”.equals(a)這種方式
NO2 java.lang.NumberFormatException
這個錯誤是因爲轉化成數字(int float double)異常,其中最常見的原因是字符串中有非數字字符,也有可能是數字太大無法轉換
public static void main(String[] args) {
String a="11111111111111111";
System.out.println(Integer.parseInt(a));
}
NO3 java.lang.ClassCastException
類型轉化錯誤,一般是因爲強制類型轉換,
public static void main(String[] args) {
Proson p=new Proson();
Object o=p;
Bob b=(Bob) o;
}
NO4 java.lang.ArrayIndexOutOfBoundsException
數組越界,也就是說數組沒有那麼大,你卻訪問啦,另外list的索引爲負數也會出現該錯誤
public static void main(String[] args) {
int[] a=new int[3];
System.out.println(a[4]);
}
public static void main(String[] args) {
List<Object> paems=new ArrayList<Object>();
System.out.println(paems.get(-1));
}
NO5 java.lang.ArithmeticException
除數爲0,應該事先判斷一下
public static void main(String[] args) {
int a=10;
System.out.println(a/0);
}
NO6 java.lang.IndexOutOfBoundsException:
索引越界,一般是由於使用了list,但是索引超出了list的長度
public static void main(String[] args) {
List<Object> paems=new ArrayList<Object>();
System.out.println(paems.get(1));
}
No7 NoSuchFieldException NoSuchMethodException
一般是由於使用反射引起的異常,字段不對應或者setter和getter不標準
No8 還有其他的許多許多異常
比如網絡操作,文件操作,sql操作,
出錯並不可怕,可怕的是不出錯
遇到問題要談定,尤其沒有異常的錯誤,不要太相信自己沒有任何錯
本着人無完人的態度去分析問題,分析代碼,測試代碼