异常----自定义异常

/*
 对于角标是整数不存在,可以用角标越界来表示。
 对于是负数的情况,我们不乐意用越界来表示,

 而负数角标这种异常在java中并没有定义过。
 那么就按照java异常的创建思想,面向对象,将负数角标进行自定义描述。并封装成对象。

 这种自定义的问题描述成为自定义异常。

 注意:如果让一个类继承异常类,必须要继承异常体系,因为只有成为异常体系的子类才有资格具备可抛型。
    才可以被两个关键字操作:throw throws
 */
class FuShuIndexException extends Exception
{
    FuShuIndexException()
    {}
    FuShuIndexException(String msg)
    {
        super(msg);
    }
}

class Demo
{
    public void method(int[] arr,int index) throws FuShuIndexException//进行声明
    {
        if(arr == null)
        {
            throw new NullPointerException("数组的引用不能为空!");
        }
        if(index >= arr.length)
        {
            throw new ArrayIndexOutOfBoundsException("数组的角标越界了,兄弟。"+index);
        }
        if(index < 0)
        {
            throw new FuShuIndexException("角标变成负数啦");
            //报错 未报告的异常,必须对其进行捕捉或声明以便抛出。
        }

        System.out.println(arr[index]); 
    }

}
public class ExceptionDemo2 {

    public static void main(String[] args) throws FuShuIndexException{//进行声明
        int[] arr = new int [3];
        new Demo().method(arr,-3);  
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值