Demo12_异常

package test03_1;

public class Demo12_YiChang {

public static void main(String[] args) {
   Demo d = new Demo();
   int[] arr = {34,12,67};
  // int num  = d.getElement(arr, 4);
   int num  = d.getElement(null,2);

// 收到new ArrayIndexOutOfBoundsException(Index);抛出jvm,jvm进行最终的处理,将问题信息显示出来
System.out.println(“num=”+num);
System.out.println(“over”);
}

}

/*
* 异常的应用
*/
class Demo
{
//对给定的数组通过给定的角标获取元素
int getElement(int[] arr,int index)
{

    if(arr == null)
    {
        throw new NullPointerException("vufyutyytutguyyuuiyuuyhyuyu");
    }



    //没有找到4的角标。运行时发生问题,这个问题jvm认识
    //这个问题Java本身有描述   格式:  问题名称   问题内容  问题发生位置
    //Java将这么多信息直接封装到对象中。   ArrayIndexOutOfBoundsException


    //jvm出了问题,自己打包对象并抛出,但是它所提供的信息不清晰,准备自己抛出

    if(index<0  ||  index >= arr.length)
    {

// System.out.println(“角标错误,找不到角标!”);
// return -1;
// 该条件如果满足功能将无法运行,这时就必须结束功能,并将问题告知调用者,这时就要通过异常来解决
//步骤:
//1.创建一个异常对象,封装一些提示信息
//2.需要将这个对象告知调用者,通过throw关键字就可以完成,throw 异常对象
throw new ArrayIndexOutOfBoundsException(“房管局统一图库她”+index+”fyrf是关键人员态度一样讨厌”);
}

    //判定年龄小于零或者大于200则抛出异常

// if(age<0||age>200)
// {
// throw new IllegalArgumentException(age+”nianlingfeifa”);//传进一个非法的值
// }

    int element  = arr[index];//throw new ArrayIndexOutOfBoundsException(index);
    return element ;
}

}

猜你喜欢

转载自blog.csdn.net/mingxu_W/article/details/81506852