package com.qprogramming.tasq.error; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.context.request.WebRequest; import org.springframework.web.servlet.ModelAndView; import com.google.common.base.Throwables; /** * General error handler for the application. */ @ControllerAdvice class ExceptionHandler { @org.springframework.web.bind.annotation.ExceptionHandler(value = TasqAuthException.class) public ModelAndView authException(Exception exception, HttpServletRequest request, HttpServletResponse response) { exception.printStackTrace(); ModelAndView modelAndView = new ModelAndView("error/authError"); modelAndView.addObject("errorMessage", Throwables.getRootCause(exception)); return modelAndView; } /** * Handle exceptions thrown by handlers. */ @org.springframework.web.bind.annotation.ExceptionHandler(value = Exception.class) public ModelAndView exception(Exception exception, WebRequest request) { ModelAndView modelAndView = new ModelAndView("generalError"); exception.printStackTrace(); modelAndView.addObject("errorMessage", Throwables.getRootCause(exception)); return modelAndView; } }