try语句用{}指定了一段代码,该段代码可能会抛弃一个或多个异常。
catch语句的参数类似于程序的声明,包括一个异常类型和一个异常对象。
异常类型必须为Throwable类的子类,它指明了catch语句所处理的异常类型,异常对象则由运行时系统在try所指定的代码块中生成并被捕获,大括号中包含对象的处理,其中可以调用对象的程序。
JAVA运行时系统从上到下分别对每个catch语句处理的异常类型进行检测,直到找到类型相匹配的catch语句为止。
这里类型匹配指catch所处理的异常类型与生成的异常对象的类型完全一致或者是它的父类。
因此,catch语句的排列顺序应该是从特殊到一般。也可以用一个catch语句处理多个异常类型,这时它的异常类型参数应该是这多个异常类型的父类,程序设计中要根据具体的情况来选择catch语句的异常处理类型。
异常被异常处理程序捕获和处理,异常处理程序紧接在try块后面,且用catch关键字标记,因此叫做“catch块”。如果一个程序使用了异常规范,我们在调用它时必须使用try-catch结构来捕获和处理异常规范所指示的异常,否则编译程序会报错而不能通过编译。这正是JAVA的异常处理的杰出贡献,它对可能发生的意外及早预防从而加强了代码的健壮性。
异常处理语句的一般格式是:
try {
// 可能产生异常的代码
}
catch (异常对象 e) {
//异常 e的处理语句
}catch (异常对象 e1) {
//异常 e的处理语句
}catch (异常对象 e2) {
//异常 e的处理语句
}
|