自定义异常类 MyException,该类继承自 Exception 类,类中只有含一个字符串参数 msg 的构造方法,构造方法中只有一条语句 super(msg)——调用父类的构造方法。另外,编写 自定义类 person,类中只有两个私有的变量,一个是字符串类型的姓名,另一个是整型变 量 age;有两个公有方法 void getAge()和 setAge(int age),其中 setAge(int age)的功能 是把参数 age 的值加到类中的变量 age 中(但要求 age>0,否则抛出自定义异常
时间: 2023-06-14 08:07:59 浏览: 119
类Exception)。请编写上述两个类的完整代码实现。
```java
// MyException.java
public class MyException extends Exception {
public MyException(String msg) {
super(msg);
}
}
// Person.java
public class Person {
private String name;
private int age;
public void setAge(int age) throws MyException {
if (age <= 0) {
throw new MyException("Age must be greater than 0!");
}
this.age += age;
}
public void getAge() {
System.out.println("Age: " + this.age);
}
}
```
相关问题
自定义异常类myexception,该类继承自exception类,类中只有含一个字符串参数msg的构造方法,构造方法中只有一条语句super(msg)——调用父类的构造方法。另外,编写自定义类per
son,该类包含两个属性name和age,以及一个方法check_age,该方法会抛出自定义异常类myexception,当年龄小于或大于150时抛出异常。
代码如下:
```
class MyException(Exception):
def __init__(self, msg):
super().__init__(msg)
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def check_age(self):
if self.age < or self.age > 150:
raise MyException("年龄不合法")
```
使用方法:
```
p = Person("张三", 200)
try:
p.check_age()
except MyException as e:
print(e)
```
输出结果:
```
年龄不合法
```
自定义异常类 MyException,该类继承自 Exception 类,类中只有含一个字符串参数 msg的构造方法,构造方法中只有一条语句 super(msg)——调用父类的构造方法。另外,编写自定义类 person,类中只有两个私有的变量,一个是字符串类型的姓名,另一个是整型变量 age;有两个公有方法 void getAge()和 setAge(int age),其中 setAge(int age)的功能是把参数 age 的值加到类中的变量 age 中(但要求 age>0,否则抛出自定义异常 MyException类的对象)getAge()方法返回 age 的值。
以下是代码实现:
```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"
}
```
阅读全文