异常处理之自定义异常

本文介绍了如何在Java中自定义异常,包括运行时异常的定义、继承RuntimeException,以及编译异常的处理。通过实例展示了如何创建和抛出自定义异常,如AgeOutOfException,以处理年龄输入范围问题。
摘要由CSDN通过智能技术生成

自定义异常:现有异常不会满足日常生活中出现的所有异常进行处理和解决,所以有时候需要我们自己来定义合适的异常来让程序继续运行。

自定义异常的种类:

一、自定义运行时异常

编译阶段不报错,提醒不强烈,运行时才可能出现错误。

①定义异常类:见名起义

如定义一个保存名字的方法,名字的类型为:String,如果输入了非字符串类型的(格式类型不符合),程序会报错,我们就可以针对名字定义异常,如:NameFormatException等。(方法不统一)

②写继承关系:定义一个异常类继承RuntimeException

③空参构造、带参构造

④通过throw new 异常类(xxx)来创建异常对象并抛出。

二、自定义编译异常

编译阶段就报错,提醒更加强烈。

①定义异常类:见名起义

②写继承关系:定义一个异常类继承RuntimeException

④通过throw new 异常类(xxx)来创建异常对象并抛出。

例:写一个运行异常:

输入年龄,然后保存年龄。(1-150)

可能会出现的异常:年龄小于0,或者年龄大于150,所以可以针对这些可能出现的异常进行自定义异常。

①②:定义异常类继承Exception

public class AgeOutOfException extends  Exception{
    public AgeOutOfException() {
    }

    public AgeOutOfException(String message) {
        super(message);
    }
}

③④⑤

public class Practice6 {
    public static void main(String[] args) {
try {
    saveAge(220);
}catch (Exception e){
    e.printStackTrace();
    System.out.println("底层出现了bug");
}
    }
    public  static  void saveAge(int age) throws AgeOutOfException {
        if(age>0&&age<150){
            System.out.println("年龄保存成功:"+age);
        }else {
            throw new AgeOutOfException("年龄不在1-150的范围内,您输入的年龄为:"+age);
        }
    }
}

当年龄等于220时,结果为:

AgeOutOfException: 年龄不在1-150的范围内,您输入的年龄为:220
	at Practice6.saveAge(Practice6.java:15)
	at Practice6.main(Practice6.java:4)
底层出现了bug

当年龄输入为88时,结果为:

年龄保存成功:88

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╭⌒心岛初晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值