1. 對應String類型的物件使用println()方法時,如果物件為null,將列印null而不是引發NullPointerException,由此引用的問題是容易造成錯覺,對於以後對字串的操作容易引起問題。
2. 引發NullPointerException異常,主要原因是沒有對物件的存在性進行驗證,在jsp程式設計中常出現:if (request.getParameter(“username”).equals(“xxx”))、out.println(session. getAttribute(“record”))等。解決這個問題的方法是在使用前進行判空比較:if (request.getParameter(“username”)!=null) {if if (request.getParameter(“username”).equals(“xxx”))…} 。
3. 引發NumberFormatException異常:主要原因是將使用者提交的內容轉換為整數或浮點數時使用者輸入了其它非法字元。處理的主要方式是在需要轉換的地方使用try/catch區塊捕獲此異常然後提示使用者輸入合法資料。
4. 引發StringIndexOutOfBoundsException例外:主要原因是使用String的substring()、charAt()等方法,而字串的長度不夠,就會引發此例外;在字串為null時也會引發NullPointerException。解決的方法是判空,判斷長度或轉換為位元組數組。考慮到這些操作很多,可以將其封裝到javabean中。
5. 引發NoClassDefFoundError錯誤,主要原因是類別路徑或類別檔案放置錯誤,類別檔案的放置要符合伺服器的要求。
6. 引發java.lang.Error錯誤,主要原因是對系統所存取外部資源,未執行關閉操作,導致外部資源大量浪費,最終可能導致系統無法正常運作;對系統所存取的外部資源關閉次數太多,外部系統無法正常處理;所繫統存取的外部資源出現異常情況。解決的方法是:在存取外部資源前,首先檢查該資源(如資料庫)是否可正常連接或操作;存取外部資源時,如果進行了連接,一定進行關閉操作,並僅進行一次關閉操作;盡量在同一作業中共享外部資源,以減少該作業對資源的消費,並提高程式的執行效率。
http://blog.csdn.net/kiss0931/archive/2005/02/22/297547.aspx