package com.sf._06_自定义异常;

public class Test {
    public static void main(String[] args) {
        String username= "admin";
        String password = "123";
        String code = "abc1";
        try{
            login(username,password,code);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    /**
     * String username  String password  String code;
     *
     * 需要再login 抛出一LogicException ,在主方法使用trycatch 处理捕捉异常 打印信息
     *
     * 后续在main 调用login()
     * 如果用户名为 提醒用户名不能为空
     * 如果密码为空提醒用户密码不能为空
     * 如果验证码为空提醒验证码不能为空
     * 如果输入验证码不能为 abc1 ,就提醒验证码错误
     * 如果账号不能admin, 密码不为123 就提心他账号密码错误
     * 如果比较成功提醒 登录成功
     */
    public static void login(String username,String password,String code){
        // 1 判断账号是否为空
        if(username == null){
            throw new LogicException("账号不能为空");
        }
        // 2 判断密码是否为空
        if(password == null){
            throw new LogicException("密码不能为空");
        }
        // 3 验证码是否为空
        if(code == null){
            throw new LogicException("验证码不能为空");
        }
        // 4 判断验证码是否为abc1
        if(!code.equals("abc1")){
            throw new LogicException("验证码错误");
        }
        // 5 判断账号是否为admin 密码是否为123
        if("admin".equals(username) && "123".equals(password)){
            System.out.println("登录成功");
        }else{
            throw new LogicException("账号密码错误");
        }
    }
}
