自定义异常

/**
 * 作者:kuma
 * 版本:v1.0
 * */
public class study_9_9
{
    public static void main(String[] args)
    {
        /*
        * 因为项目中会出现特有的问题
        * 而这些问题并未被java所描述并封装成对象
        * 所以对于这些特有的问题可以按照java的对问题封装的思想
        * 将特有的问题,进行自定义的异常封装
        *
        * 需求:在本程序中,对于除数是-1,也视为是错误的是无法进行运算的
        * 那么就需要对这个问题进行自定义的描述
        *
        * 当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作
        * 要么在内部try catch处理
        * 要么在函数上声明让调用者处理
        *
        * 一般情况下,函数内出现异常,函数需要声明异常
        *
        * 自定义异常:
        *   必须是自定义类继承Exception
        *
        * 继承Exception原因(为什么不直接继承throwable)
        * 异常体系有一个特点:因为异常类和异常对象都被抛出
        * 他们都具备可抛性,这个可抛性是throwable的独有特性
        * throws和throw必须在这个体系中的类才能够使用
        * */

        /*
        * throw和throws的区别
        * throws使用在函数上,放在函数后面
        * throw使用在函数内,后跟对象
        * */
        cemo d=new cemo();
        try {
            int x = d.div(4, -1);
            System.out.println("x=" + x);
        }
        catch(FushuException e) {
            System.out.println("出现负数啦");
            System.out.println(e.getMessage());
            System.out.println("错误的负数是:"+e.getValue());
        }
        System.out.println("over");
    }
}

class FushuException extends Exception//getMessage()
{
    /*private String msg;
    FushuException(String msg)
    {
        this.msg=msg;
    }
    public String getMessage()// 复写
    {
        return msg;
    }*/
    //Exception的父类throwable已经给写了,不用再写一次
    private int value;
    FushuException(String msg,int value)
    {
        super(msg);
        this.value=value;
    }

    public int getValue() {
        return value;
    }
}

class cemo
{
    int div(int a,int b) throws FushuException
    {
        if(b<0)
            throw new FushuException("出现了除数是负数的情况 /by fushu",b);//手动通过throw关键字抛出一个自定义异常对象
        return a/b;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值