//年龄的自定义异常类 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; } }