什么是异常?为什么要有异常?
异常就是与以往不同发生的问题,在程序语言中,就是指发生错误。异常的发生是任何 事物都不可避免的,因为每一件事物都不是唯一的。所以会存在异常,当然程序语言所实现的现实逻辑功能也会存在异常的发生。
Java异常概念
是Java提供的用于处理程序中错误的一种机制。
Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将提交到Java运行时系统,这个过程称为抛出(throw)异常。
当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。
异常的分类
异常的捕获和处理
Try语句
Try{...}语句指定了一段代码,该段代码就是一次捕获并处理例外的范围。
在执行过程中,该段代码可能会产生并抛出一种或几种的异常对象,它后面的catch
语句要分别对这些异常做出处理。
如果没有例外产生,所有的catch代码段都会被略过不执行。
Catch语句
在catch语句块中是对异常进行处理的代码,每个try语句块后可以伴随一个或多个
catch语句,用于处理可能产生不同的类型异常对象。
Finally语句
Finally语句为异常处理提供统一的出口,使得在控制流程转到程序的其他部分以前,
能够对程序的状态做统一的管理。
无论try所指定的程序块中是否抛出例外,finally所指定的代码都要被执行。
通常在finally语句中可以进行资源的清除工作,如关闭打开的文件、删除临时文件。
需要注意的有:在异常的捕获过程中要先捕获小异常,然后捕获大异常;在重写可抛出异常的方法时,重写的方法需要与原方法抛出的异常一致或者不抛出异常。