一般項目中都需要作異常處理,基于系統架構的設計考慮,使用統一的異常處理方法。包括預期可能發生的異常、運作時異常(RuntimeException),運作時異常不是預期會發生的。針對預期可能發生的異常,在代碼手動處理異常可以try/catch捕獲,可以向上抛出。針對運作時異常,隻能通過規範代碼品質、在系統測試時詳細測試等排除運作時異常。
針對預期發生的異常,定義很多異常類型,這些異常繼承Exception。
要在一個統一異常處理的類中要處理系統抛出的所有異常,根據異常類型來處理。
error.jsp
測試通路:http://localhost:8080/spring01/items/editItems?id=99
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DMxkzM0MDM1EDMxATM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
首先我們隻能捕獲我們定義的異常,否則其他異常為沒有測試好,沒有發現異常,或者程式錯誤。注意:要求我們controller、service、dao都向上抛出異常。