# Java 中的异常处理(了解)
在 Java 中,所有的异常都有一个共同的祖先java.lang包中的Throwable类。
Throwable:有两个重要的子类:
Exception(异常) 和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。
# error 和 exception 的区别(了解)
Error 类和 Exception 类的父类都是 Throwable 类,他们的区别如下。
Error 类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等。对于这类 错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。
Exception 类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。
Exception 类又分为运行时异常(Runtime Exception)和受检查的异常(CheckedException ),运行时异常。
# 常见异常
- java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。
- java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误; 通常都是程序试图通过字符串来加载某个类时可能引发异常。
- java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非 数字型字符。
- java.lang.IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生。
- java.lang.IllegalArgumentException 方法传递参数错误。
- java.lang.ClassCastException 数据类型转换异常。