java用户自定义异常:创建AgException异常类,继承Exception类,创建Exmple类中创建一个readAge()方法,该方法用于从键盘处年龄并检查年龄是否在18-22岁之间,若超出该
时间: 2024-10-19 15:07:09 浏览: 41
JAVA_exmple.rar_java exmple_java exmple查询
在Java中,用户自定义异常是一种很好的实践,它允许开发者为特定的错误情况提供更具体的异常处理。例如,你可以创建一个名为`AgException`的异常类,它是`Exception`类的子类,这样你就可以继承`Exception`的基本特性和行为。
```java
// 创建AgException类
public class AgException extends Exception {
public AgException(String message) {
super(message);
}
}
// 在Example类中,创建readAge方法,抛出AgException异常
public class Example {
private static final int AGE_RANGE = 18;
// readAge方法
public void readAge() {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的年龄:");
int age = scanner.nextInt();
if (age < AGE_RANGE || age > (AGE_RANGE + 4)) { // 检查年龄范围
throw new AgException("年龄不在18至22岁范围内!");
} else {
System.out.println("年龄有效,继续操作...");
}
} catch (InputMismatchException e) {
// 处理输入不是整数的情况
System.out.println("输入无效,请输入一个整数!");
} catch (AgException ex) {
// 处理年龄异常
System.out.println(ex.getMessage());
}
}
}
```
在这个例子中,如果用户输入的年龄小于18或大于26(因为我们在检查18至22岁的范围),`readAge`方法会抛出`AgException`。然后,我们可以在`try-catch`块中捕获这个异常,并提供相应的错误信息。
阅读全文