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");
}
复制代码

 

posted @   夫君  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示