Throwable类是一切异常和错误处理类的根类,下分为两大子类Exception和Error
下面这段代码可以编译通过吗?
try {
throw new IllegalArgumentException();
} catch (Object e) {
}
答案是不可以,Object 不是符合要求的类型,只有Throwable或者Throwable的子类才可以被throw或者catch
运行时异常和非运行时异常
需要我们处理的是非运行时异常,比如IOException,SQLException,这些需要我们写catch语句
不需要我们处理的发生在程序运行时期的是运行时异常(RuntimeException),比如IllegalArgumentException,ClassCastException,NullPointerException,ArrayIndexOutOfBoundsException,NumberFormatException
错误
OutOfMemoryError ,StackOverflowError,UnsupportedClassVersionError