抛出异常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) {标签:arr,int,抛出,method,null,异常,throw From: https://www.cnblogs.com/shenziyi/p/16798161.html
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;
}
}