|
首先,當(dāng)DAO層Catch到SQL異常,應(yīng)該讓相應(yīng)的事務(wù)回滾,并繼續(xù)拋出該異常
在方法聲明時(shí)throws這個(gè)異常; 第二,在Service層調(diào)用到Dao層時(shí),try catch這個(gè)異常,在catch住中把它處理為RuntimeException異常; 處理過程是:自定義一個(gè)繼承自RuntimeException的異常類AppRuntimeException;
第三,在Servlet中使用配置文件web.xml注冊(cè)這個(gè)Exception,或者注冊(cè)為RuntimeException,調(diào)用Service時(shí),如果發(fā)生這個(gè)異常,則會(huì)跳轉(zhuǎn)到相關(guān)的友好的面向用戶的錯(cuò)誤頁(yè)面; 注意:如果頁(yè)面未轉(zhuǎn)向,則可能是反射過程中拋出的其他異常截獲了我們自定義的這個(gè)RuntimeException,我們可以在這個(gè)異常中做出處理,讓它轉(zhuǎn)換為我們自定義的RuntimeException; 第四,以上我們只是簡(jiǎn)單的處理了異常,一般正常的與業(yè)務(wù)相關(guān)的異常; |
|
|
來(lái)自: CevenCheng > 《異常處理》