1
我已經與Spring和Hibernate的MVC應用程序下面的控制器:異常在MVC應用程序和處理與Hibernate異常
@RequestMapping(value = { "/mypage"}, method = RequestMethod.POST)
public ModelAndView showPage(Model model, HttpServletRequest request) {
ModelAndView mv = new ModelAndView();
try {
// Here I call a Service and then a DAO, where I can get HibernateException
} catch (Exception ex) {
ex.printStackTrace();
}
mv.setViewName("mypage");
return mv;
我不知道該異常正確這裏處理。
首先:
- 我不拋出任何checked異常(HibernateException的也選中)。
- 但是我需要捕捉所有的異常,因爲我想用通知錯誤(而不是錯誤頁面)反正向用戶展示相同的頁面。
- 在我的DAO中,我沒有捕捉或重新引發任何異常。
我的問題是:
- 是否精細捕捉及處理這樣的例外?
- 我是否也應該在控制器中分別捕獲HibernateException?
- 我應該做的不僅僅是記錄?
- 我是否也應該捕捉到DAO中的異常,然後重新拋出它?應該向控制器重新引發不同類型的異常?