这篇blog总结的比较详细了。
如下图所示,在Java中所有异常的基类均为Throwable类。有两个子类,分别为Exception和Error。其中Error主要由JVM处理,比如OutOfMemory。
RunTimeException类,指程序运行过程中的异常,同Error共同构成Java中的Unchecked Exception。
在Java程序中,最常用的还是checked exception,也就是经常用try-catch来捕获的异常。