目录
1.1 什么是生活的异常
1.2 什么是程序的异常
1.3 异常的抛出机制
1.4 如何对待异常
1.1 什么是生活的异常
男主角小明每天开车上班,正常车程 1 小时。但是,不出意外的话,可能会出现意外。
出现意外,即为异常情况。我们会做相应的处理。如果不处理,到不了公司。处理完了,就可以正常开车去公司。
1.2 什么是程序的异常
在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美
,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式问题
,读取文件是否存在
,网络是否始终保持通畅
等等。
- 异常 :指的是程序在执行过程中,出现的非正常情况,如果不处理最终会导致 JVM 的非正常停止。
异常指的并不是语法错误和逻辑错误。语法错了,编译不通过,不会产生字节码文件,根本不能运行。
代码逻辑错误,只是没有得到想要的结果,例如:求 a 与 b 的和,你写成了 a-b
1.3 异常的抛出机制
Java 中是如何表示不同的异常情况,又是如何让程序员得知,并处理异常的呢?
Java 中把不同的异常用不同的类表示,一旦发生某种异常,就创建该异常类型的对象
,并且抛出(throw)。然后程序员可以捕获 (catch) 到这个异常对象,并处理;如果没有捕获 (catch) 这个异常对象,那么这个异常对象将会导致程序终止。
举例:
运行下面的程序,程序会产生一个数组角标越界异常 ArrayIndexOfBoundsException
。我们通过图解来解析下异常产生和抛出的过程。
public class ArrayTools {
// 对给定的数组通过给定的角标获取元素。
public static int getElement(int[] arr, int index) {
int element = arr[index];
return element;
}
}
测试类
public class ExceptionDemo {
public static void main(String[] args) {
int[] arr = { 34, 12, 67 };
intnum = ArrayTools.getElement(arr, 4)
System.out.println("num=" + num);
System.out.println("over");
}
}
上述程序执行过程图解:
1.4 如何对待异常
对于程序出现的异常,一般有两种解决方法:一是遇到错误就终止程序的运行。另一种方法是程序员在编写程序时,就充分考虑到各种可能发生的异常和错误,极力预防和避免。实在无法避免的,要编写相应的代码进行异常的检测、以及异常的处理
,保证代码的健壮性
。