要求:
实现一个简单的控制台版用户登陆程序, 程序启动提示用户输入用户名密码. 如果用户名密码出错, 使用自定义异常的方式来处理。
分析:
我们既然要用自定义异常处理有可能出现的错误,肯定需要定义两个异常,一个用户名错误时抛出,一个用户名正确但密码错误时抛出。
代码:
public class NameException extends Exception {
public NameException(String message) {
super(message);
}
}
public class PasswordException extends Exception {
public PasswordException(String message) {
super(message);
}
}
public class Login {
private static String username= "小明";
private static String password = "123456";
public static void main(String[] args) throws NameException,PasswordException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名: ");
String username= scanner.next();
System.out.println("请输入密码: ");
String password = scanner.next();
login(username,password);
System.out.println("登陆成功!");
}
public static void login(String username, String password) throws NameException,PasswordException {
if (!Login.username.equals(username)) {
throw new NameException("用户名输入有误");
}
if (!Login.password.equals(password)) {
throw new PasswordException("密码输入有误");
}
}
}
运行结果: