java中常見的異常以及解決方案-持續更新
同學們有沒有被java中的異常機制弄得頭大?不要急,接下來,就帶你熟悉熟悉java中常見的異常以及解決方法(其實就是程式碼的嚴謹性的問題)
1.java.lang.NullPointerException(空指標)
這個異常常常發生,很明顯,據意那就是你用了一個控制元件,這個控制元件沒有被初始化,或者沒有值的情況下去遍歷或者呼叫其內建方法等等操作造成,那麼我們就需要給這個元件做一個判空。
java:
或者說,在java的定時操作中,定時操作某一個類的時候這個類找不到,解決辦法如下public static boolean isNullOrEmpty(String str){ return str == null || str.trim().length() == 0; }
String beanName = "com.text.StringUtils"
StringUtils strUtils = (StringUtils)SpringContextUtil.getBean(beanName);
jsp:
if(document.getElementById("id") != null){ //或者可以採用jquery的寫法("#id").val()
//繼續你的操作
}
2.java.lang.NoSuchMethodException(找不到此方法)
如果確實存在這個方法的話,可以嘗試以下解決方案
1).如果程式在執行中,碼了這麼一個方法,那麼你需要重啟伺服器。
2).你要呼叫的方法被定義成private,可能導致呼叫不到
3).檢視struts配置的action名是否一致
3.java.text.ParseException(格式轉換解析異常)
舉個栗子,在java中將string字串轉換為date型別的時候,有可能會出現這個異常。SimpleDataFormat可以parse Date和String型別的資料,分類處理
1).format.parse(date.toString)
2).(Date)format.parseObject(date)
4.java.lang.ArrayIndexOutOfBoundsException(陣列下標越界)
可以選擇呼叫陣列的length來作為此條資料的長度,如str.length,如果下標從0開始,要<str.length,而不是<=str.length。
5.java.lang.ClassNotFoundException(找不到呼叫的class檔案)
栗子:反射機制中載入驅動(mysql等)的forName方法,呼叫此jar,找不到
6.java.lang.NoClassDefFoundError(此類沒有被定義)
1).在struts中的配置檔案中,path配置有誤,就會丟擲此異常
2).呼叫jar包沒有Build Path的情況下就呼叫,也會丟擲此異常
3).直譯器找不到要執行的類的class
7.java.lang.NumberFormatException(數字格式化異常)
當程式將非數字的字串轉換為數字格式時,會出現此異常
栗子:String str = "abc"; System.out.println("轉換後的異常 :" + Integer.parseInt(str));
8...(持續更新中)