Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。
两个子类的实例,Error 和 Exception,通常用于指示发生了异常情况。通常,这些实例是在异常情况的上下文中新近创建的,因此包含了相关的信息(比如堆栈跟踪数据)。
相同点:
一、都继承Trhrowable
二、都没有自己实现的方法,都是继承Throwable和Object的
三、都有四个构造方法,参数及实现的功能一样
不同点:
一、Error属于系统级错误称之为“错误”,不可被捕获;Exception属于应用程序级错误称之为“异常”,可以通过捕获避免
二、Error无需在程序中以throws子句中抛出;而Exception需要抛出
三、存在Error错误程序不能运行或是运行中断;存在Exception错误程序可运行并抛出
引自:http://hi.baidu.com/jnxtop10/item/0006a5ce6b9b193098b4988f