java異常處理及400,404,500錯誤處理


     java代碼中經常碰到各種需要處理異常的時候,比如什么IOException  SQLException  NullPointException等等,在開發web項目中,遇到異常,我現在做的就是將其拋出,即在catch中throw new Exception()。這個throw new Exception也是有講究的。
貼出異常簡略圖:
 
異常就分兩大類:checked檢查和unchecked非檢查異常。
checkedException在編寫代碼的時候就必須要進行異常處理,uncheckedException在編寫代碼時可以不用處理,因為它是在程序運行時才可能會拋出異常。
 
 
拖拽可看大圖。
 
一段代碼中,可能會拋出多個異常,這就涉及到多重異常。這時對異常的處理就有點講究了。
總的說來,如果異常間存在繼承關系,則應該先把小異常放上面,越大的越寫在后面。如果一開始就處理最大的異常,則它下面的子類在編譯器中都會報錯。如:
    StringBuffer sb=null;
        try {
            sb.append("1");
            System.err.println(sb.toString());
        } catch (RuntimeException e) {
            e.printStackTrace();
        }catch (NullPointerException e){
            e.printStackTrace();
        }
在編譯器中會給出如下錯誤:
Unreachable catch block for NullPointerException. It is already handled by the catch block for  RuntimeException
 NullPointerExeption無法捕獲,因為已經在RuntimeException中捕獲了。
 
處理異常時,必須提到異常轉換和異常鏈。
 
異常鏈
 
重寫方法時需要注意與原方法所拋出的異常類型一致或者是其子異常,或者不拋出異常,亦或者拋出RuntimeException異常。
 
 
異常設計的基本原則:
 
開發web項目時,遇到400,404,500等問題時,可以通過在web.xml中設置相關屬性,即可跳轉到指定頁面
    <error-page>
        <error- code> 400</error- code>
        <location>error.jsp</location>
    </error-page>

     <error-page>
         <error- code> 500 </error- code>
         <location> error.jsp </location>
     </error-page>
 
    <error-page>
         <error- code> 405 </error- code>
         <location> notfound.jsp </location>     
    </error-page>





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM