步骤
public class AgeException extends UserException{
public AgeException() {
}
public AgeException(String message) {
super(message);
}
}
public class NameException extends UserException{
public NameException() {
}
public NameException(String message) {
super(message);
}
}
public class UserException extends Exception{
public UserException() {
}
public UserException(String message) {
super(message);
}
}
- 再controller中抛出NameException,AgeException。
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/some")
public ModelAndView doSome(String name,Integer age) throws UserException {
ModelAndView modelAndView = new ModelAndView();
if(!name.equals("黄振聪")){
throw new NameException("用户:"+name+"不是黄振聪!");
}
if(age == null || age > 100){
throw new AgeException("年龄不符合要求!");
}
modelAndView.addobject("uname",name);
modelAndView.addobject("uage",age);
modelAndView.setViewName("target");
return modelAndView;
}
}
@ControllerAdvice
public class UserExceptionHandler {
/**
@ExceptionHandler:
属性:
value:指定异常类,若没有指定则表示其他所有异常
*/
@ExceptionHandler(value = NameException.class)
public ModelAndView nameException(Exception ex){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addobject("tips","处理NameException");
modelAndView.addobject("ex",ex);
modelAndView.setViewName("nameError");
return modelAndView;
}
@ExceptionHandler(value = AgeException.class)
public ModelAndView ageException(Exception ex){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addobject("tips","处理AgeException");
modelAndView.addobject("ex",ex);
modelAndView.setViewName("ageError");
return modelAndView;
}
@ExceptionHandler
public ModelAndView otherException(Exception ex){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addobject("ex",ex);
modelAndView.setViewName("otherError");
return modelAndView;
}
}
<context:component-scan base-package="com.hzc.controller" />
<context:component-scan base-package="com.hzc.handler" />
<mvc:annotation-driven />
结构图:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。