Throwable(Error错误 和Exception异常)
异常,指程序在执行过程中,出现的非正常情况,最终会导致JVM非正常停止工作。
Java是面向对象的语言,产生的每个异常其实都是一个异常对象,每个异常对象一定会有所属的异常类。Java中默认将异常抛给JVM处理,而JVM处理的方式就是中断运行,将异常信息打印到控制台。Throwable 可以用来表示任何可以作为异常抛出的类,分为两种: Error类和 Exception类。
Throwable 类是 Java 语言中所有错误或异常的超类(Error 类和 Exception 类的父类都是 Throwable 类)。
其中 Error 用来表示 JVM 无法处理的错误,Exception 分为两种:
编译时异常(强制性异常)CheckedException 和 运行时异常(非强制性异常)RuntimeException。
Error 和 Exception 的区别
异常 | |||
Error 错误 | java.lang.Error | 表示错误,不可以通过代码进行纠正使得程序继续运行,只能事先避免 | 一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等,建议让程序终止 |
Exception异常 | java.lang.Exception | 表示异常,可以通过代码进行纠正使得程序继续运行 | 遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常 |
Exception异常
Exception异常 | |||
编译时异常 (强制性异常) |
CheckedException | java.lang.Exception | 编译时出现的异常,编译时需要检验的异常,如有该异常没处理,则编译失败 |
运行时异常 (非强制性异常) |
RuntimeException | java.lang.RuntimeException | 运行时出现的异常,编译时不检验,留给运行时检验的异常,运行时如有该异常没处理, |