1. 程式人生 > >JAVA異常基本知識及異常在Spring框架中的整體解決方案

JAVA異常基本知識及異常在Spring框架中的整體解決方案

我們 程序 details 編譯錯誤 htm 及其 arch extends exception

技術分享

異常的頂級父類是Throwable,下面有兩個子類Exception和Error。

Error錯誤一般是虛擬機相關的問題,如系統崩潰,虛擬機錯誤等,應用程序無法處理,直接導致應用程序運行結束。

Exception是我們需要處理的異常。

Exception又分為Checked異常和Runtime異常。

所有RuntimeException類及其子類都是Runtime異常。其他的為Checked異常。

Checked異常必須顯示處理,如果沒有處理會發生編譯錯誤。

RunTime和Checked的處理方式有兩種:

1. Throw

2. Catch

兩者可以同時使用,catch之後throw新的Exception


自定義異常類

public class AuctionException extends Exception{
    
    public AuctionException(){}
    public AuctionException(String msg){ 
           super(msg);
    }    
}

在Spring中對異常的處理,利用AOP集中處理

我們來看幾位博友的文章,這幾篇博文推薦閱讀。

http://blog.csdn.net/he90227/article/details/46309297

http://www.cnblogs.com/chenpi/p/6117090.html

http://blog.csdn.net/ufo2910628/article/details/40399539

http://www.cnblogs.com/xd502djj/archive/2012/09/24/2700490.html

總結來講,主要有三種集中處理的方法

(1)使用Spring MVC提供的簡單異常處理器SimpleMappingExceptionResolver;
(2)實現Spring的異常處理接口HandlerExceptionResolver 自定義自己的異常處理器;
(3)[email protected]

推薦采用最後一種。

http://www.cnblogs.com/chenpi/p/6117090.html中做了詳細介紹。


總結起來,原則是用自定義的業務異常包裝底層原生異常,然後進行集中處理。

JAVA異常基本知識及異常在Spring框架中的整體解決方案