局部异常处理

先看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("用户名已存在");
    }
}

可以看到这两个异常都继承了运行时异常这个异常。

当项目在运行时出现异常就可以进行这两个具体异常的处理。

猜你喜欢

转载自blog.csdn.net/Hubery_sky/article/details/131864151