异常
一、异常的概念
1. 概念:程序运行过程中出现的一切非正常的现象统称为异常。
2. 异常处理的必要性:程序中不可避免的都会存在很多的错误,问题,这些问题必须要处理,不处理就会对用户造成一定的损失,所以必须要处理。
3. 异常的分类
a) Throwable:所有异常的父类 在java.lang包下。
方法
String getMessage():返回异常信息的字符串内容。
void printStackTrack():打印异常追踪站的详细信息。
b) Throwable
1. Error:错误 程序运行中出现的依靠程序无法解决的问题
如:JVM的内存不足| 内存栈溢出
可以不处理
2. Exception:异常
a. RuntimeException:运行时异常,未检查异常
编译时不报错,编译器不会检查,运行时报错,对于此种异常可以避免,所以可处理可不处理
运行时异常直接|间接继承于RuntimeException
只要继承于RuntimeException都属于运行时异常
b. 非RuntimeException:已检查异常
编译器会检查,编译时会报错,对于此种异常必须要处理,否则编译不通过。
没有直接|间接继承RuntimeException,直接或间接的继承Exception都属于已检查异常
c) 常见的未检查异常|运行时异常
1. 空指针异常 NullPointerException
2. 数组下标越界异常 ArrayIndexOutOfBoundsException
3. 类型转换异常 ClassCastException