异常的处理-抛出异常throw

抛出异常throw

在编写程序时 我们必须要考虑程序出现的问题的情况 比如 在定义方法时 方法需要接受

在java中 提供了一个thow关键字 它用来抛出一个指定的异常对象 

1.创建一个异常对象 封装一些提示信息(信息可以自己编写)

2.需要将这个异常对象告知调用者

throw关键字:

作用:

可以使用throw关键字在指定的方法中抛出指定的异常

使用格式:

throw new xxxException(异常产生的原因)

注意:

1.throw关键字必须写在方法的内部

2.throw关键字后面new的对象必须时Exception或者Exception的子类对象

3.throw关键字抛出指定的异常对象 我们必须处理这个异常对象

  • throw关键字后边创建的时RuntimeException或者时RuntimeException的子类对象 我们可以不处理 默认交给JVM处理(打印异常对象 中断程序)
  • throw关键字后边创建的是编译异常(写代码的时候报错) 我们就必须处理这个异常 要么throws 要么try..catch

代码:

public static void main(String[] args) {
int[] arr=null;
int method = method(arr, 0);
System.out.println(method);
}

private static int method(int[] arr,int indexes) {
if (arr==null){
throw new NullPointerException("传递的数组是null");
}
int ele=arr[indexes];
return ele;
}

运行结果:

 

 Objects非空判断

Objects它是由一些静态的实用方法组成 这些方法是null-save(空指针安全的) 那么在它的源码中 对象为了null的值进行了一些抛出异常的操作

public static<T> requireNonNull(T obj) 查看指定引用不是null

代码:

public static void main(String[] args) {
int[] arr=null;
int method = method(arr, 0);
System.out.println(method);
}

private static int method(int[] arr,int indexes) {
Objects.requireNonNull(arr);
int ele=arr[indexes];
return ele;
}

运行结果:

 

 还有它的重载方法

代码:

    public static void main(String[] args) {
int[] arr=null;
int method = method(arr, 0);
System.out.println(method);
}

private static int method(int[] arr,int indexes) {
Objects.requireNonNull(arr,"传递的数组是null");
int ele=arr[indexes];
return ele;
}
}

运行结果:

posted @ 2022-07-08 17:15  baimingze  阅读(753)  评论(0)    收藏  举报