Java自定义异常

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

 

 

posted @ 2016-12-29 19:57  郭鑫  阅读(181)  评论(0编辑  收藏  举报