//年龄的自定义异常类
package com.jckb;
public class PersonException extends Exception{
public PersonException(String msg) {
super(msg);
}
}
//测试类
package com.jckb;
public class TestPerson {
public static void main(String[] args) {
Person p = new Person();
try {
p.setName("tom");
p.setAge(120);
} catch (PersonException e) {
e.printStackTrace();
} finally {//不管怎么样都要执行里面的方法
System.out.println(p.getName() + "----" + p.getAge());
}
}
}
class Person {
private int age;
private String name;
public Person() {
}
public Person(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) throws PersonException {
if (age > 100) {
// 年龄大于100,设置默认值为60,并抛出异常
this.age = 60;
throw new PersonException("年龄必须小于100");
}
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}