error 和 exception
Error类对象由Java虚拟机生成并抛出,大多数错误与程序员所执行的操作无关。比如说内存溢出。不可能指望程序能处理这样的情况。发生Error时,虚拟机会重启线程
exception 一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能的避免这类异常的发生。
异常体系结构
所有异常都继承自java.lang.Throwable,它有两个直接的子类
-
Error
-
Exception
-
RuntimeException
-
CheckException
-
IOException
-
SQLException
-
-
Java 编译器要求方法必须声明抛出可能发生的checkedException,一个方法必须通过throws语句在方法的声明部分说明它可能抛出但并未捕获的所有checkedException。
RuntimeException在默认情况下会得到自动处理。所以通常用不着捕获RuntimeException异常