先看controller层
@PostMapping("/regist")
public R regist(@RequestBody MemberRegistVo vo) {
try {
umsMemberService.regist(vo);
} catch (PhoneExistException e) {
return R.error(BizCodeEnume.PHONE_EXIST_EXCEPTION.getCode(), BizCodeEnume.PHONE_EXIST_EXCEPTION.getMsg());
} catch (UserNameExistException e) {
return R.error(BizCodeEnume.USER_EXIST_EXCEPTION.getCode(), BizCodeEnume.USER_EXIST_EXCEPTION.getMsg());
}
return R.ok();
}
可以看到,这里设置了两个异常处理,再来看看这两个异常的源码:
public class PhoneExistException extends RuntimeException {
public PhoneExistException(){
super("该手机号码已注册");
}
}
public class UserNameExistException extends RuntimeException {
public UserNameExistException(){
super("用户名已存在");
}
}
可以看到这两个异常都继承了运行时异常这个异常。
当项目在运行时出现异常就可以进行这两个具体异常的处理。