- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sunjava 培训专用课本c07
第七章 异 常
本模块讲述建立在Java编程语言中的错误处理装置。
第一节 相关问题
讨论—下述问题与本模块中的材料相关:
在大部分编程语言中,如何解决运行时错误?
第二节 目 的
本模块学习结束后,能够:
定义异常
使用try,catch和finally语句
描述异常分类
开发程序来处理自己的异常
第三节 异 常
异 常
异常类定义程序所遇到的轻微错误
发生下列情况时,会出现异常:
想打开的文件不存在
网络连接中断
受控操作数超出预定范围
非常感兴趣地正在装载的类文件丢失
错误类定义严重的错误条件 7.3.1 介绍
什么是异常?在Java编程语言中,异常类定义程序中可能遇到的轻微的错误条件。可以写代码来处理异常并继续程序执行,而不是让程序中断。
在程序执行中,任何中断正常程序流程的异常条件就是错误或异常。例如,发生下列情况时,会出现异常:
想打开的文件不存在
网络连接中断
受控操作数超出预定范围
非常感兴趣地正在装载的类文件丢失
在Java编程语言中,错误类定义被认为是不能恢复的严重错误条件。在大多数情况下,当遇到这样的错误时,建议让程序中断。
Java编程语言实现C++异常来帮助建立弹性代码。在程序中发生错误时,发现错误的方法能抛出一个异常到其调用程序,发出已经发生问题的信号。然后,调用方法捕获抛出的异常,在可能时,再恢复回来。这个方案给程序员一个写处理程序的选择,来处理异常。
通过浏览API,可以决定方法抛出的是什么样的异常。
7.3.2 实例
考虑一下HelloWorld.java程序版本的简单扩展,它通过信息来循环:
public class HelloWorld {
public static void main (String args[]) {
int i = 0;
String greetings [] = {
Hello world!,
No, I mean it!,
HELLO WORLD!!
};
while (i 4) {
System.out.println (greetings[i]);
i++;
}
}
}
正常情况下,当异常被抛出时,在其循环被执行四次之后,程序终止,并带有错误信息,就象前面所示的程序那样。
c:\student\ java HelloWorld
Hello world!
No, I mean it!
HELLO WORLD!!
java.lang.ArrayIndexOutOfBoundsException: 3
at HelloWorld.main(HelloWorld.java:12)
异常处理允许程序捕获异常,处理它们,然后继续程序执行。它是分层把关,因此,错误情况不会介入到程序的正常流程中。特殊情况发生时,在与正常执行的代码分离的代码块中被处理。这就产生了更易识别和管理的代码。
第四节 异常处理
Java编程语言提供了一个来考虑哪个异常被抛出以及如何来恢复它的机制。
7.4.1 try和catch语句
try和catch语句
try {
// code that might throw a particular exception
} catch (MyExceptionType e) {
// code to execute if a MyExceptionType exception is thrown
} catch (Exception e) {
// code to execute if a general Exception exception is thrown
}
要处理特殊的异常,将能够抛出异常的代码放入try块中,然后创建相应的catch块的列表,每个可以被抛出异常都有一个。如果生成的异常与catch中提到的相匹配,那么catch条件的块语句就被执行。在try块之后,可能有许多catch块,每一个都处理不同的异常。
1. try {
2. // code that might throw a particular exception
3. } catch (MyExceptionType e) {
4. // code to execute if a MyExceptionType exception is thrown
5. } catch (Exception e
文档评论(0)