1. 程式人生 > >java中常見的異常以及解決方案-持續更新

java中常見的異常以及解決方案-持續更新

同學們有沒有被java中的異常機制弄得頭大?不要急,接下來,就帶你熟悉熟悉java中常見的異常以及解決方法(其實就是程式碼的嚴謹性的問題)

1.java.lang.NullPointerException(空指標)

這個異常常常發生,很明顯,據意那就是你用了一個控制元件,這個控制元件沒有被初始化,或者沒有值的情況下去遍歷或者呼叫其內建方法等等操作造成,那麼我們就需要給這個元件做一個判空。

java:

                public static boolean isNullOrEmpty(String str){
			return str == null || str.trim().length() == 0;
		} 
或者說,在java的定時操作中,定時操作某一個類的時候這個類找不到,解決辦法如下
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...(持續更新中)