自定义异常类 MyException,该类继承自 Exception 类,类中只有含一个字符串参数 msg的构造方法,构造方法中只有一条语句 super(msg)——调用父类的构造方法。另外,编写自定义类 person,类中只有两个私有的变量,一个是字符串类型的姓名,另一个是整型变量 age;有两个公有方法 void getAge()和 setAge(int age),其中 setAge(int age)的功能是把参数 age 的值加到类中的变量 age 中(但要求 age>0,否则抛出自定义异常 MyException类的对象)getAge()方法返回 age 的值。
时间: 2023-06-19 13:02:48 浏览: 104
Java自定义异常类的实例详解
以下是代码实现:
```java
class MyException extends Exception {
public MyException(String msg) {
super(msg);
}
}
class Person {
private String name;
private int age;
public void setAge(int age) throws MyException {
if (age <= 0) {
throw new MyException("年龄必须大于0");
}
this.age += age;
}
public int getAge() {
return age;
}
}
```
在 setAge() 方法中,如果参数 age 小于等于 0,则抛出自定义异常 MyException 的对象。在外部调用 setAge() 方法时,需要使用 try-catch 块来捕获异常,例如:
```java
Person p = new Person();
try {
p.setAge(-1); // 这里会抛出 MyException
} catch (MyException e) {
System.out.println(e.getMessage()); // 输出 "年龄必须大于0"
}
```
阅读全文