Java内的异常体系结构如下:草图
1.Throwable
是所有错误和异常的超类,异常又分为运行时异常和非运行时异常,又可以分为不检查型日常和检查型异常。
2.Error和Exception
Error是错误,是程序无法处理的问题,一般由JVM抛出,像OOM等。
Exception是异常,程序要尽可能去处理这些异常。
3.运行时异常和非运行时异常
运行时异常一般称作 不检查异常,一般是由于逻辑错误导致的,可以处理也可以不处理。
非运行时异常称作 检查异常,是由编译器帮助检查的,如果不处理,程序不能编译通过,比如常见的IoeException,等等需要try catch或者throw出来的。
异常的面试题: