异常类(Throwable)的种类
Java异常类(Throwable)可以分为两种:
- 错误Error:与虚拟机相关的问题,Java 虚拟机无法解决的严重问题;如:StackOverflowError 和 OOM。
- 异常Exception:程序编码错误或外界因素导致等,能被系统捕获并处理;
- 检查型异常(CheckedException):编译器要求强制处理(try catch);因外界因素导致,一般发生在编译阶段;除RuntimeException外,Exception及其子类。
- 非检查型异常(RuntimeException):编译器不要求强制处理;因编码设计不当导致,一定是程序员的错误,故可以避免;RuntimeException及其所有子类;
常见的异常Exception
- 非检查型异常(RuntimeException及其子类,因编码设计不当导致):
- 数组下标越界ArrayIndexOutOfBoundsException
- 空指针访问NullPointerException
- 数字格式化异常NumberFormatException
- 算术异常ArithmeticException
- 类型转换不匹配ClassCastException
- 非法参数illegalArgumentException
- 输入不匹配InputMismatchException<