异常分类和异常的产生过程解析和Objects非空判断

java.lang.Throwable类是java语言中所有错误的异常的超类。
Exception:编译期异常,进行编译(写代码)java程序出现的问题
RuntimeExeption:运行期异常,java程序运行过程中出现的问题
异常就相当于程序得了一个小毛病(感冒发烧)把异常处理掉程序就可以继续运行
Error错误:错误就相当于程序得了一个无法治愈的毛病(非典,艾滋),必须修改源代码,程序才能继续执行

public class Test{
    public static void main(String[] args) /*throws ParseException*/ {

         // Exception:编译期异常,进行编译(写代码)java程序出现的问题

/*        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try {
            date = simpleDateFormat.parse("1999-0909");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println("后续代码");
        System.out.println(date);*/

/*//        RuntimeExeption:运行期异常,java程序运行过程中出现的问题
        int[] arr = {1,2,3};
//        System.out.println(arr[0]);
        try {
            System.out.println(arr[3]);
        } catch (Exception e) {
            System.out.println(e);
        }*/

//        Error错误:错误就相当于程序得了一个无法治愈的毛病(非典,艾滋),必须修改源代码,程序才能继续执行
        //OutOfMemoryError: Java heap space
        int[] ints = new int[1024*1024*1024];


    }
}

image

Objects非空判断
还记得我们学习过一个类Objects类吗,曾静提到过他由一些静态的实用方法组成,这些方法都是空指针安全的
或者容忍空指针的那么在他的源码中,对对象为null的值进行了抛出异常的操作
public static T requireNonNull(T obj);查看指定引用对象不是null
查看源码发现这里是对为null的进行了抛出异常的操作

    public static <T> T requireNonNull(T obj) {
        if (obj == null)
            throw new NullPointerException();
        return obj;
    }
posted @ 2022-07-06 16:36  我滴妈老弟  阅读(45)  评论(0)    收藏  举报