1、定义异常类MyException继承自Exception类,其无参及有参的构造方法分别调用父类的无参及有参的构造方法,其中有参的构造方法的参数为字符串 2、定义类Student,内含: 私有的成员变量String类的name和int类的 age。与name和age对应的set和get成员方法。 3、在setAge()方法中,需要对age是否是负数进行判断,如果是负数,以“年龄不能为负数”字符串为参数创建异常对象并抛出 4、setAge()方法声明抛出一个异常MyException 5、定义测试类TestE,在其mainO方法中完成以下任务: 1)创建Student类的对象stu,调用stu对象的setName()方法给name赋值“张三”; 2)调用stu对象的setAgeO方法给age赋值-20,并利用try……catch异常捕获机制对其进行处理,显示异常信息:“年龄不能为负数”和“张三的年龄为:0岁”;
时间: 2023-07-16 18:13:16 浏览: 169
代码实现如下:
MyException.java
```
public class MyException extends Exception {
public MyException() {
super();
}
public MyException(String message) {
super(message);
}
}
```
Student.java
```
public class Student {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) throws MyException {
if (age < 0) {
throw new MyException("年龄不能为负数");
}
this.age = age;
}
public int getAge() {
return age;
}
}
```
TestE.java
```
public class TestE {
public static void main(String[] args) {
Student stu = new Student();
stu.setName("张三");
try {
stu.setAge(-20);
} catch (MyException e) {
System.out.println(e.getMessage());
} finally {
System.out.println(stu.getName() + "的年龄为:" + stu.getAge() + "岁");
}
}
}
```
输出结果:
```
年龄不能为负数
张三的年龄为:0岁
```
阅读全文