实现一个简单的控制台版用户登陆程序, 程序启动提示用户输入用户名密码. 如果用户名密码出错, 使用自定义异常的方式来处理

java 复制代码
	//密码错误异常类
public class PasswordError extends Exception {
    public PasswordError(String message){
        super(message);
    }
}

    //用户名错误异常类
public class UserError extends Exception{
    public UserError(String message){
        super(message);
    }
}

import java.util.Scanner;

public class RegisterException {
    private static String userName = "12345678";
    private static String passerWord = "123456";

    public static void main(String[] args) throws UserError, PasswordError {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入账号:");
        String str1 = sc.nextLine();
        System.out.print("请输入密码:");
        String str2 = sc.nextLine();
        login(str1, str2);
    }

    private static void login(String userName, String passerWord) throws PasswordError, UserError {
        if (!RegisterException.userName.equals(userName)){
        //判断用户名是否输入错误
            throw new UserError("用户名错误");//抛出用户名错误异常       
        }
        if (!RegisterException.passerWord.equals(passerWord)){
        //判断密码是否输入错误
            throw new PasswordError("密码错误");//抛出密码错误异常
        }
        System.out.println("登录成功");
    }
}
相关推荐
凸头5 分钟前
AI 流式聊天接口实现(WebFlux+SSE)
java·人工智能
简宸~6 分钟前
VS Code + LaTex + SumatraPDF联合使用指南
java·vscode·latex·sumatrapdf
弦有三种苦难15 分钟前
CCF-202412-T3缓存模拟90分
java·开发语言·spring
会编程的土豆19 分钟前
【数据结构与算法】 二叉树做题
开发语言·数据结构·c++·算法
青槿吖22 分钟前
SpringMVC通关秘籍(下):日期转换器、拦截器与文件上传的奇幻冒险
java·开发语言·数据库·sql·mybatis·状态模式
wangjialelele22 分钟前
C++11、C++14、C++17、C++20新特性解析(一)
linux·c语言·开发语言·c++·c++20·visual studio
weixin_4563216428 分钟前
Java架构设计:Redis AOF持久化深度解析(原理+实战+避坑)
java·开发语言·redis
leaves falling29 分钟前
数据结构-堆学习
java·数据结构·学习
阿蒙Amon32 分钟前
C#常用类库-详解YamlDotNet
开发语言·c#
Java水解33 分钟前
Java 中实现多租户架构:数据隔离策略与实践指南
java·后端