◈ try代码包含可能产生例外的代码。
◈ try代码段后跟又一个或多个 catch 代码段。
◈ 每个 catch 代码段声明其能处理的一种特定类型的异常并提供处理的方法。
◈ 当异常发生时,程序会中止当前的流程,根据获取异常的类型去执行相应的 catch 段代码。
◈ finally 段的代码无论是否发生异常都会执行。
◈ try 语句
◇ try {...}语句指定了一段代码,该段代码就是一次捕获并处理例外的范围。
◇ 在执行过程中,该段代码可能会产生并抛出一种或集中类型的异常对象,它后面的 catch 语句要分别对这些异常做相应的处理。
◇ 如果没有例外产生,所有的 catch 代码段都被略过不执行。
◈ catch 语句
◇ 在 catch 语句块中是对异常进行处理的代码,每个 try 语句块可以伴随一个或多个 catch 语句,用于处理可能产生的不同类型的异常对象。
◇ 在 catch 中声明的异常对象 ( catch ( SomeException e ) ) 封装了异常事件发生的信息,在 catch 语句块中可以使用这个对象的一些方法获取这些信息。
◇ 例如:
getMessage() 方法,用来得到有关异常事件的信息。
printStackTrace() 方法,用来跟踪异常事件发生时执行堆栈的内容。
◈ finally 语句
◇ finally 语句为异常处理提供一个同一的出口,使得在控制流程转到程序的其他部分以前,能够对程序的状态作统一的管理。
◇ 无论 try 所指定的程序块中是否抛出例外,finally 所指定的代码都要被执行。
◇ 通常在 finally 语句中可以进行资源的清理工作,如:
☼ 关闭打开的文件;
☼ 删除临时文件;
☼ ... ...