java程序在运行时发生的不正常情况,而异常就是按照面向对象的思想对不正常情况进行封装,将这些情况封装成为对象。
Throwable 定义了问题的共性的功能
它的两个子类
- Exception:由JVM发生的,并告知使用者。可以进行针对性的处理。
- Error:由系统底层发生的,告知JVM,JVM告知使用者。不做针对性处理,直接修改代码。
其中异常为Exception,它分为两类,编译时会被检测的异常 和 运行时异常(编译时不会被检测)RuntimeException及其子类。
- 被检查的异常,是编写程序之前就能够遇见的可能发生的异常,在方法中将预知的对象声明出去直到jvm。对于那些能够或者知道处理办法的用 try catch 代码块进行处理。
- 运行时异常,可能在执行方法期间抛出但未被捕获的 ,也被称为是‘’不受检查异常‘’RuntimeException 的任何子类都无需在 throws 子句中进行声明。当发生异常的时候程序,就会被Java虚拟机抛出。
if( t == null){
throw new NullPointerException();
}
空指针异常就是一种常见的运行时异常。