Throwable是所有异常的爸爸
他有两个儿子,一个是error,一个是exception
Error是错误,java.lang.Error
Exception是异常,java.lang.Exception
Exception又分为两种,一种是Checked异常,还有一种是Runtime异常
Checked异常:Java认为Checked异常都是可以被处理的异常,所以Java程序必须显示处理Checked异常。
Checked异常举例:
Java.lang.ClassNotFoundException、Java.lang.NoSuchMetodException、java.io.IOException
Runtime异常:如果显式地申明这些异常对程序的可读性而言很差,对系统的负担也很重,由系统自动检测并将它们交给缺省的异常处理程序。
Runtiom异常举例:
Java.lang.ArithmeticException、ArrayStoreExcetpion、ClassCastException、IndexOutOfBoundsException、NullPointerException
Error
当程序发生不可控的错误时使用Error,通常做法:通知用户并中止程序的执行。 与异常不同之处:Error及其子类的对象不应被抛出。 Erro用于指示合理的应用程序不应该试图捕获的严重问题编译时间和系统错误。
|