如何抓到異常的?
步驟:(以之前寫的小樣例為例)
如果categoryservice中的list方法出錯(category_表不存在):
做到兩點:throws sqlexception和throw(e);
此時categoryaction接收到categoryservice中的list方法抛出的異常:
注意加:throws exception
categoryaction中的throws exception繼續向外抛異常,之後struts.xml接住
其中 <exception-mapping result="error" exception="java.sql.sqlexception"/>
java.sql.sqlexception異常有對應的result,找到result(error.jsp),顯示異常的界面
在error.jsp中利用[debug]可以看到,棧值中有exception,詳細為:
exception java.sql.sqlexception: table 'bbs2014.category_' doesn't exist
友好界面裡最好寫“出錯了,請聯系管理者”,要比“請稍後再試”好多了
全局的異常處理:
如果需要收集的異常過多,那麼需要全局的異常處理機制,在struts中這樣配置:
struts中支援聲明式的異常處理指的是,要是有異常,就向外抛,最後會給一個統一的接口,然後讓你在特定的頁面做出處理。
轉載請注明出處:http://blog.csdn.net/acmman/article/details/47086261