目录
异常机制
在注册会员时检查用户名和手机号是否唯一,可以采用异常机制处理,如果查出用户名或密码不唯一则向上抛出异常,最后抛给controller,conroller在根据捕获到的不同异常进行不同的处理。
1、编写异常类
会员服务下创建 exception包,并创建异常类
PhoneExistException.java
public class PhoneExistException extends RuntimeException{
public PhoneExistException() {
super("手机号存在");
}
}
UsernameExistException.java
public class UsernameExistException extends RuntimeException{
public UsernameExistException() {
super("用户名存在");
}
}
2、编写检查方法
MemberService
MemberServiceImpl
@Override
public void checkPhoneUnique(String phone) throws PhoneExistException {
MemberDao dao = this.baseMapper;
Integer mobile = dao.selectCount(new QueryWrapper<MemberEntity>().eq("mobile", phone));
if (mobile > 0) {
throw new PhoneExistException();
}
}
@Override
public void checkUserNameUnique(String userName) throws UserNameExistException {
MemberDao dao = this.baseMapper;
Integer cout = dao.selectCount(new QueryWrapper<MemberEntity>().eq("username", userName));
if (cout > 0) {
throw new UserNameExistException();
}
}
调用方法
控制器捕获处理
Java异常处理机制具有一下优点:
- 把各种不同类型的异常情况进行分类,用Java类来表示异常情况,这种类被称为异常类。把异常情况表示成异常类,可以充分发挥类的可扩展和可重用的优势。
- 异常流程的代码和正常流程的代码分离,提高了程序的可读性,简化了程序的结构。
- 可以灵活的处理异常,如果当前方法有能力处理异常,就捕获并处理它,否则只需要抛出异常,由方法调用者来处理它。
结束!