java中的异常

一直对异常的概念不太清晰== ,这次好好总结一下。
首先上图,看一下结构
java中的异常

Throwable

Throwable 是所有错误和异常的父类,实现了Serializable接口。

Exception

  1. 异常分为RuntimeException 和 CheckedException。
  2. Exception类中只有几个构造方法,而打印异常信息等常用的方法都是来自于父类Throwable的方法
    java中的异常

RuntimeException (运行时异常)

!(https://img-blog.****img.cn/20181130102942382.png)

运行时异常,java编译器不要求必须进行异常捕获处理或者抛出声明,由开发者自行决定。例如 NullPointerException/IndexOutOfBoundsException/ClassCastException

CheckedException(编译期异常)

除了运行时异常,其他异常都属于编译期异常也成为检查型异常。例如FileNotFoundException(文件找不到异常)、IOException (I/O 异常),如下图。编译期异常是可以被预知的,编译器会强制对异常进行捕获或声明。

private static void fileException()  {
        String pathname="D://test//xx.txt";
        File file= new File(pathname);
        FileInputStream inputStream = new FileInputStream(file);
    }

java中的异常

Error