Java第二次作业第五题

自定义异常类,非法年龄类,并在person3类中使用此类,根据情况抛出异常,并进行处理。

package naizi;

class IllegalAgeException extends Exception{    //无效年龄异常类
public IllegalAgeException(String s){
    super(s);
}
public IllegalAgeException(){
    this("");
}
}

public class Person3{
protected String name; //姓名
protected int age;   //年龄
public Person3(String name,int age)throws IllegalAgeException{ //抛出异常的方法,请准确写出抛出的异常类
    this.set(name);
    this.set(age);  
} 
public void set(String name){
    if (name==null || name=="")
        this.name = "姓名未知";
    else
        this.name = name;
}
public void set(int age) throws IllegalAgeException {   //抛出异常的方法,请准确写出抛出的异常类
    if (age>=0 && age<100)
        this.age = age;
    else
        throw new IllegalAgeException(Integer.toString(age));   //抛出IllegalAgeException的类
}
public void set(String name, int age) throws IllegalAgeException {   //抛出异常的方法,请准确写出抛出的异常类
    this.set(name);
    this.set(age);
}
public String toString() {
    return this.name+","+this.age+"岁";  
}
public void print(){
    System.out.println(this.toString());
}
public static void main(String args[]){
    Person3 p1=null;
    try{        //写出异常处理结构语句
        p1 = new Person3("李小明",20);    //调用声明抛出异常的方法,必须写在try语句中,否则编译不通过
        p1.set(121);    
    }catch (IllegalAgeException e){     //捕获自定义异常类,而非Exception类
        e.printStackTrace();            //显示异常栈跟踪信息 
    }finally {
        p1.print();     
    }   
}
}  

运行结果如图:

VE1AKwN.png

转载于:https://www.cnblogs.com/zqm-sau/p/9807699.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值