Java中异常的应用1

在编写程序时要考虑程序的问题情况

函数的实参是你编写的,但在调用函数中传参的却不一定是你,你不知道在传参时,会有怎样的参数传入

例如:你是卖苹果的,具有卖苹果的功能,你有钱这个实参列表,传参的人不是你,你怎么知道不会有假币

在Java中出了问题,像数组获取元素这个函数,JVM会自己的打包对象抛出异常,但是他抛出的异常不清晰,因此想要更清晰的异常我们就要自己写,JVM抛出的异常不满足我们的需求,我们就要自己写好了自己抛

异常的应用:虚拟机抛出的异常不够清晰,不能满足我们的需求,因此自己写异常自己抛
 */
class Demo{
    int GetElement(int a[],int index){
        //传入的数组异常
        if(a==null){
            //一个十分常见的异常 空指针异常
            throw new NullPointerException("a指向的数组不存在!!");//在API中可以查看构造:空参/字符串
        }
        //索引异常
        if(index<0||index>=a.length){//当传入数组为空时程序在此就会出现异常
            /*
            该条件满足就是一个异常,该功能已经无法再进行运算,这时要抛出异常并且结束函数
            怎么用?
            1.创建一个异常对象。封装一些提示信息(可以自己定义)
            2.需要将这个异常传递给调用者
            3.在Java中关键字throw 用在函数中,抛出异常对象,并且结束函数
             */
            //throw new ArrayIndexOutOfBoundsException(index);//在API中可以查到这个类的构造函数有三种形式——空参/非法索引下标/字符串
            throw new ArrayIndexOutOfBoundsException("下标 "+index+"索引不存在!!");//参数为字符串(和输出语句差不多)

        }
        int element=a[index];
        return element;
    }
}
public class Example {
    public static void main(String[] args){
        Demo d=new Demo();
        int a[]={12,36,85};
        int num=d.GetElement(a ,5);//传参时出现的异常//下标越界//传入的数组为空
        System.out.println("num = "+num);
        System.out.println("over");
    }
}
对于
NullPointerException//这个异常是非常常见的,
在API中的描述

  • 当应用程序尝试在需要对象的情况下使用 null时抛出。 这些包括:
    • 调用一个null对象的实例方法。
    • 访问或修改null对象的字段。
    • null的长度,好像是一个数组。
    • 访问或修改的时隙null就好像它是一个数组。
    • 投掷null好像是一个Throwable价值。

在程序中用到引用对象非常多,所以一定要有这样的异常定义

一般这些异常在Java的API文档中都能找到,对异常类名字可以直接复制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值