import java.util.Scanner;
/** User:yang */
class MyException extends RuntimeException { // 运行时异常
public MyException(String message) {
super(message);
}
}
class UserError extends Exception { // 受查异常(编译时期的异常)
public UserError(String message) {
super(message);
}
}
class PasswordError extends Exception {
public PasswordError(String message) {
super(message);
}
}
public class TestDemo3 {
private static String userName = "admin";
private static String password = "123456";
public static void main(String[] args) {
try {
System.out.println("请输入用户名");
Scanner scanner = new Scanner(System.in);
String userName = scanner.next();
System.out.println("请输入密码");
String password = scanner.next();
login(userName, password);
} catch (UserError userError) {
userError.printStackTrace();
} catch (PasswordError passwordError) {
passwordError.printStackTrace();
}
}
public static void login(String userName, String password) throws UserError, PasswordError {
if (!TestDemo3.userName.equals(userName)) {
throw new UserError("用户名错误");
}
if (!TestDemo3.password.equals(password)) {
throw new PasswordError("密码错误");
}
System.out.println("登陆成功");
}
public static void main2(String[] args) {
try {
int i = 10;
if (i == 10) {
throw new MyException("i=10");
}
} catch (MyException e) {
e.printStackTrace();
} finally {
}
}
public static void main1(String[] args) {
try {
System.out.println(10 / 0);
} catch (ArithmeticException e) {
e.printStackTrace();
} finally {
}
}
}
异常(简单实现用户登录)
最新推荐文章于 2024-09-08 11:09:43 发布
该代码示例展示了如何在Java中自定义异常类型并进行处理。`TestDemo3`类中定义了`UserError`和`PasswordError`两个受查异常,用于处理用户名错误和密码错误的情况。在`main`方法中,通过`try-catch`捕获这些异常,并提供了简单的输入验证。此外,还存在一个`MyException`的运行时异常实例,用于演示非受查异常的处理。
摘要由CSDN通过智能技术生成