异常概述

在程序中,异常可能由程序员没有预料到的各种情况产生,也可能由超出了程序员可控范围的环境因素产生,如用户的坏数据、试图打开一个根本不存在的文件等。在Java中,将这种在程序运行时可能出现的一些错误称为异常。异常是一个在程序执行期间发生的事件,它中断了正在执行的程序的正常指令流。

【例9.1】0可以作为除数么?(实例位置:资源包\TM\sl\9\1)

在项目中创建 Baulk 类,在主方法中定义 int 型变量,将 0 作为除数的算术表达式赋值给该变量。代码如下:

public class Baulk { // 创建类Baulk
	public static void main(String[] args) { // 主方法
		int result = 3 / 0; // 定义int型变量并赋值
		System.out.println(result); // 将变量输出
	}
}

运行结果如图9.1所示。

image 2024 03 01 12 17 59 128
Figure 1. 图9.1 例9.1的运行结果

程序运行的结果报告发生了算术异常 ArithmeticException(根据给出的错误提示可知,发生错误是因为在算术表达式 “3/0” 中,0 被作为除数出现),系统不再执行下去,提前结束。这种情况就是所说的异常。

有许多异常的例子,如数组溢出等。Java 语言是一门面向对象的编程语言,因此异常在 Java 语言中也是作为类的实例的形式出现的。当某一方法中发生错误时,这个方法会创建一个对象,并且把它传递给正在运行的系统。这个对象就是异常对象。通过异常处理机制,可以将非正常情况下的处理代码与程序的主逻辑分离,即在编写代码主流程的同时在其他地方处理异常。