异常处理机制
Exception :程序可以处理的异常,捕获后可能恢复。
Error: 程序无法处理的系统错误,编译器不做检查。一般是jvm错误。
RuntimeException
不可预知,程序应当自行避免。
- NullpointException——空指针引用异常
- ClassCastException——类型强制转换异常
- IllegalArgumentException——传递非法参数异常
- IndexOutOfBoundsExceotion——数字格式异常
非RuntimeException
可预知的,编译器校验异常。
- ClassNotFoundException——找不到指定class的异常
- IOException——IO操作异常
Error
1、NoclassDefFoundError ——找不到class定义的异常
成因可能:
(1)类依赖的class或者jar不存在
(2)类文件存在,但存在在不同域中。
(3)大小写问题,javac编译的时候是无视大小写的,很有可能编译出来的class文件与想要的不一样。
2、StackOverflowError ——因深度递归导致的栈被耗尽而抛出的异常。
3、OutOfMemoryError——内存溢出异常