【java基础:捕捉异常】try...catch...您输入的年龄不合法!

要求:

一、定义一个Person类中,私有属性为年龄;

二、自定义异常类AgeException:继承Exception类,当年龄不在0-120之间时,接收Persion类抛出的异常,输出“年龄必须在0-120岁之间”来提醒用户。

三、测试类中,键盘录入,输入一个整数,并对数值进行try...catch...操作;

一种是输入的年龄不在0-120之间,抛出异常,让自定义异常类-AgeException进行接收处理;

另一种是输入的不是整数,输出“请输出合法数字!”最后,无论有没有异常,都输出“您辛苦了!”

Person类

public class Person {
    private int age;


    public int getAge() {
        return age;
    }

    //throws在方法上申明改方法抛出异常
    public void setAge(int age) throws AgeException{
        if (age<0||age>120){
            //逻辑错误
            throw new AgeException();
        }else {
            this.age = age;
        }
    }
}

自定义异常类-AgeException

public class AgeException extends Exception{
    public AgeException(){
        super("年龄必须在0-120岁之间");
    }
}

测试类Test01,java

import java.util.InputMismatchException;
import java.util.Scanner;

public class Test01 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的年龄:");
        try {
            int age = sc.nextInt();
            if (age<0||age>120){
                throw new AgeException();
            }
        }catch (InputMismatchException exception){
            System.out.println("请输出合法数字!");
        }catch (AgeException e ){
            System.out.println(e.getMessage());
        }finally {
            System.out.println("你辛苦了!");
        }
    }
}

运行结果:

年龄在0-120之间时,正常输出

 年龄不在0-120之间时,正常输出

 当输入的不是整数类型的值时,捕捉异常并输出

 

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值