模块四 Java常用类库(下)
异常机制
基本概念
- java.lang.Throwable类是java语言中错误(Error)和异常(Exception)的父类。
- 其中Error类主要用于描述Java虚拟机无法解决的严重错误,通常无法编码解决,如:JVM挂掉了等。
- 其中Exception类主要用于描述因编程错误或偶然外在因素导致的轻微错误,通常可以编码解决,如:0作为除数等。
异常的分类
java.lang.Exception类是所有异常的超类,主要分为一下两种:
RuntimeException -->运行时异常,也叫做非检测性异常
IOException和其他异常 -->其他异常,也叫做检测性异常,所谓检测性异常就是指在编译阶段能被编译器检测出来的异常
RuntimeException的主要子类(出现Runtime异常后,后面的程序不会继续执行)
ArithmeticException类 - 算术异常
public static void main(String[] args) {
System.out.println(5 / 0);
System.out.println("程序正常结束了"); //不会执行
}
ArrayIndexOutOfBoundsException类 - 数组下标越界异常
NullPointerException - 空指针异常
ClassCastException - 类型转换异常
NumberFormatException - 数字格式异常
避免异常
- 在以后的开发中尽量使用if条件判断来避免异常的发生。
- 但是过多的if条件判断会导致程序的代码加长、臃肿,可读性差。
public static void main(String[] args) {
int a = 10;
int b = 0
if (b != 0) {
System.out.println(a / b);
}
String str = "123a";
if (str.matches("\\d")) {
int parseInt = Integer.parseInt(str);
}
}
捕获异常
- 语法格式
try {
编写可能发生异常的代码;
}
catch(异常类型 引用变量名) {
编写针对该类异常的处理代码;
}
…
finally {
编写无论是否发生异常都要执行的代码;
}