专业的JAVA编程教程与资源

网站首页 > java教程 正文

java 核心技术-12版 卷Ⅰ- 7.2.2 捕获多个异常

temp10 2024-09-07 20:14:33 java教程 24 ℃ 0 评论

原文

7.2.2 捕获多个异常

在一个 try 语句块中可以捕获多个异常类型,并对不同类型的异常做出不同的处理。为每个异常类型使用一个单独的 catch 子句,如下例所示:

try{
	code that might throw exceptions
}catch(FileNotFoundException e){
	// 处理此异常
}catch(UnknownHostException e){
	处理UnknownHostException 
}catch(IOException e{
	处理IO异常
}

异常对象可能包含有关异常性质的信息。要想获得这个对象的更多信息,可以尝试使用

java 核心技术-12版 卷Ⅰ- 7.2.2 捕获多个异常

e.getMessage();

得到详细的错误消息(如果有的话),或者使用

e.getClass().getName()

得到异常对象的实际类型

在Java 7中,同一个catch子句中可以捕获多个异常类型。例知,假设对应缺少文件和未知主机异常的动作是一样的,就可以合井 catch 子句:

try{
	code that might throw exceptions
}catch(FileNotFoundException | UnknownHostException e){
	// 处理FileNotFoundException 或 UnknownHostException 
}catch(IOException e{
	处理IO异常
}

只有当捕获的异常类型彼此之间不存在子类关系时才需要这个特性。

注释: 捕获多个异常时,异常变量隐含为 final 变量。例如,在以下子句体中不能为e赋一个不同的值:

catch (FileNotFoundException | UnknownHostException e) {...}

注释:捕获多个异常不仅会让你的代码看起来更简单,还会更高效。生成的字节码只包含对应公共 catch 子句的一个代码块。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表