异常的处理-抛出异常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;
    }
}
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号