Error 与 Exception
Error 与 Exception 都继承了 Throwable类
Error(错误)
是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。
Exception (异常)
是程序本身可以处理的异常,程序上的错误,包括程序逻辑错误和系统错误。比如使用空的引用、数组下标越界、内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图。
Java 异常 又可分为可查的异常(checked exceptions)和不可查的异常(unchecked exceptions)。
checked exceptions
可查异常又称编译异常,是Java编译器会检查它,需要用try-catch语句捕获它,或用throws子句声明抛出它,否则编译不会通过。
unchecked exceptions
不可查异常,编译异常。主要有RuntimeException,一般是由程序逻辑错误引起的,应从逻辑角度尽可能避免这类异常的发生。