throw关键字和Objects非空判断_requireNonNull方法
作者:互联网
作用: 可以使用throw关键字在指定的方法中抛出指定的异常
使用格式: throw new xxxException(“异常产生的原因”)
注意:
1、throw关键字必须写在方法的内部
2、throw关键字后边new的对象必须是Exception或者Exception的子类对象
3、throw关键字抛出指定的异常对象,我们就必须处理这个异常对象
throw关键字后边创建的是RumtimeException或者是RumtimeException的子类对象,我们可以不处理,默认交给JVM处理(打印异常对象,中断程序)
throw关键字后边创建的是编译异常(写代码的时候报错),我们就必须处理这个异常,要么throw,要么try...catch
/* 定义一个方法,获取数组指定索引处的元素 参数: int[] arr int index 以后(在工作中)我们首先必须对方法传递过来的参数进行合法性校验 如果参数不合法,那么我们就必须使用抛出异常的方式,告知方法的调用者,传递的参数有问题。 注意: NullPointerException是一个运行期异常,我们不用处理,默认交给JVM处理 ArrayIndexOutOfBoundsException是一个运行期异常,我们不用处理,默认交给JVM处理 */ public static int getElement(int[] arr, int index) { /* 我们可以对传递过来的参数数组,进行合法性校验 如果数组arr的值是null 那么我们就抛出空指针异常,告知方法的调用者“传递的数组的值是null” */ if(arr == null) { throw new NullPointerException("传递的数组的值是空!"); } /* 我们可以对传递过来的参数index进行合法性校验 如果index的范围不在数组的索引范围内 那么我们就抛出数组索引越界异常,告知方法的调用者“传递的索引超出了数组的适用范围” */ if(index < 0 || index > arr.length-1) { throw new ArrayIndexOutOfBoundsException("传递的索引超出了数组的使用范围"); } int ele = arr[index]; return ele; }
Objects非空判断_requireNonNull方法
Objects类中的静态方法: public static <T> requireNonNull(T obj):
作用:查看指定引用对象是不是null
代码:
public static <T> requireNonNull(T obj){ if(obj == null) throw new NullPointerException(); return obj; }
public static void method(Object obj) { //堆传递过来的参数进行合法性判断,判断是否为null //方式1 if(obj == null) { throw new NullPointerException("传递的对象的值是null"); } //方式2 Objects.requireNonNull(obj); //方式3 Objects.requireNonNull(obj, "传递的对象的值是null"); }
标签:index,非空,obj,传递,Objects,数组,null,throw 来源: https://www.cnblogs.com/xuche/p/16453484.html