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

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 分钟前
GoF 23 种设计模式完整知识总结与使用教程
java·c语言·开发语言·python·设计模式
玖釉-8 分钟前
告别 Shared Memory 瓶颈:Vulkan Subgroup 架构解析与硬核实战指南
开发语言·c++·windows·图形渲染
lly2024069 分钟前
SQL UPDATE 语句详解
开发语言
君以思为故10 分钟前
认识Linux -- 线程同步与互斥
java·开发语言
吴梓穆12 分钟前
UE5 C++ 两种枚举
开发语言·c++·ue5
飞Link13 分钟前
pprint 全量技术手册:复杂数据结构的结构化输出引擎
开发语言·前端·python
意疏15 分钟前
【C语言】解决VScode中文乱码问题
c语言·开发语言·vscode
星辰徐哥15 分钟前
异步定时任务系统的设计与Rust实战集成
开发语言·后端·rust
被摘下的星星15 分钟前
Java接口需要注意的细节
java·开发语言
培风图南以星河揽胜18 分钟前
幻想简历!博主本人期望的 AI Agent 全栈简历:Java + Python + Vue3 跨语言实战,代码已开源!
java·人工智能·python