练习自定义异常的用法。 ✓ 定义一个年龄异常类AgeException; ✓ 定义一个Person类,具有name(姓名)、age(年龄)属性,以及setAge(int age)方法,当给age属性的值不在0-200范围内时抛出年龄异常。java
时间: 2024-02-02 19:05:06 浏览: 77
JAVA自定义异常类
下面是实现代码:
```
public class AgeException extends Exception {
public AgeException(String message) {
super(message);
}
}
public class Person {
private String name;
private int age;
public void setAge(int age) throws AgeException {
if (age < 0 || age > 200) {
throw new AgeException("年龄应该在0-200之间!");
}
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
在setAge方法中,我们检查传入的age值是否在0-200之间,如果不在这个范围内,我们就抛出一个年龄异常AgeException。在Person类中,我们还定义了name和age属性以及对应的getter和setter方法。
下面是一个使用示例:
```
public class Test {
public static void main(String[] args) {
Person person = new Person();
person.setName("张三");
try {
person.setAge(300);
} catch (AgeException e) {
System.out.println(e.getMessage());
}
System.out.println(person.getName() + "的年龄是:" + person.getAge());
}
}
```
输出结果:
```
年龄应该在0-200之间!
张三的年龄是:0
```
在这个示例中,我们试图将person的年龄设为300,这是一个不合法的值,会抛出AgeException。由于我们在setAge方法中使用了throws关键字,所以我们需要在调用setAge方法时使用try-catch语句捕获异常。异常被捕获后,程序会输出"年龄应该在0-200之间!",并且person的年龄会保持为0,因为setAge方法没有成功执行。
阅读全文