JAVA编程技术11.ppt
《JAVA编程技术11.ppt》由会员分享,可在线阅读,更多相关《JAVA编程技术11.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java程序设计教材:教材:Java程序设计简明教程程序设计简明教程中国水利水电出版社第第11章章 错误与异常处理错误与异常处理 在在 Java中中,错错 误误 分分 两两 类类,一一 种种 是是 异异 常常(Exception),),另一种是错误(另一种是错误(Error)。)。11.1 程序错误及类型程序错误及类型 即即使使是是有有经经验验的的程程序序员员,也也不不能能避避免免程程序序错错误误。程程序序错错误误可可以以分分为为三三类类:语语法法错错误误、运运行错误和逻辑错误。行错误和逻辑错误。1/13/20232Java 程序设计11.1.1 语法错误语法错误 在编译过程中出现的错误称为语
2、法错误在编译过程中出现的错误称为语法错误(syntax errors)或编译错误(或编译错误(compilation errors)。)。语法错误是由代码结构中的问题引起的,语法错误是由代码结构中的问题引起的,如拼错关键字,丢掉必要的标点,或者开括弧没有如拼错关键字,丢掉必要的标点,或者开括弧没有对应的闭括弧等。对应的闭括弧等。11.1.2 运行错误运行错误 运行错误(运行错误(runtime errorsruntime errors)是引起程序非正常是引起程序非正常中断的错误。运行应用程序时,当环境检测到一个中断的错误。运行应用程序时,当环境检测到一个不可能执行的操作时就出现运行错误。输入错
3、误是不可能执行的操作时就出现运行错误。输入错误是典型的运行错误。典型的运行错误。1/13/20233Java 程序设计11.1.3 逻辑错误逻辑错误 逻辑错误(逻辑错误(logic errors)是指程序没有是指程序没有按期望的要求执行。按期望的要求执行。public class ShowLogicErrors public static void main(String args)int number1=3;int number2=5;number2+=number1+number2;System.out.println(number2 is+number2);1/13/20234Java
4、程序设计11.2 程序调试程序调试 通常情况下,因为编译器指出了错误位置通常情况下,因为编译器指出了错误位置和原因,语法错误很容易发现和纠正。运行错和原因,语法错误很容易发现和纠正。运行错误也不难找,因为误也不难找,因为Java解译器在程序异常中解译器在程序异常中止时将其显示出来。止时将其显示出来。逻辑错误也称为小虫子(逻辑错误也称为小虫子(bugs),),查找和查找和改正错误的过程为调试(改正错误的过程为调试(debugging)。)。调调试的一般途径是,采用各种方法逐步缩小程序试的一般途径是,采用各种方法逐步缩小程序中错误所在的范围。可以手工跟踪(中错误所在的范围。可以手工跟踪(hand
5、trace)程序(即通过读程序找错误),或者程序(即通过读程序找错误),或者插入输出语句,显示变量的值或程序的执行流插入输出语句,显示变量的值或程序的执行流程。程。1/13/20235Java 程序设计11.3 异常和异常类型异常和异常类型 在在Java中,出现语法错误的原因是因为没中,出现语法错误的原因是因为没有遵循语言规则,它们可以有编译器检查发现有遵循语言规则,它们可以有编译器检查发现。在程序运行过程中,如果环境发现了一个不。在程序运行过程中,如果环境发现了一个不可能执行的操作,就会出现运行错误。如果程可能执行的操作,就会出现运行错误。如果程序没有按照预期的方案执行,就会发生逻辑错序没有
6、按照预期的方案执行,就会发生逻辑错误。一般来说,语法错误容易发现并纠正,因误。一般来说,语法错误容易发现并纠正,因为编译器指出了出错的位置和出错的原因。为编译器指出了出错的位置和出错的原因。1/13/20236Java 程序设计 Java给程序员提供了稳妥地处理运行错误给程序员提供了稳妥地处理运行错误的功能。利用这种称为异常处理的功能。利用这种称为异常处理(exception handling)的功能,能够开发的功能,能够开发用于重要计算的稳定程序。用于重要计算的稳定程序。运行错误会引起异常(运行错误会引起异常(exceptionexception)。)。异常异常是指程序运行过程中出现的事件,
7、它中断正是指程序运行过程中出现的事件,它中断正常的程序控制流。没有异常处理代码的程序常的程序控制流。没有异常处理代码的程序可能会非正常地结束,引起严重问题。可能会非正常地结束,引起严重问题。1/13/20237Java 程序设计11.3.1 异常类异常类 Java的异常是的异常是Throwable派生类的一个实派生类的一个实例。例。Throwable类包含在包类包含在包java.lang中,中,它的子类包含在不同的包中。与它的子类包含在不同的包中。与GUI相关的相关的错误包含在包错误包含在包java.awt中。因为数值异常与中。因为数值异常与java.lang.Number类有关,所以这一类异
8、类有关,所以这一类异常包含在包常包含在包java.lang中。通过扩展中。通过扩展Throwable或它的子类,可以创建自己的异或它的子类,可以创建自己的异常类。常类。1/13/20238Java 程序设计 异异常常类类可可以以分分为为三三种种主主要要类类型型:系系统统错错误误、异常和运行异常。异常和运行异常。系统错误(系统错误(system error)是由是由Java虚拟虚拟机抛出并在机抛出并在Error类中描述的。类中描述的。异常(异常(exception)是由是由Exception类描类描述的。述的。运行异常(运行异常(runtime exception)是由是由RuntimeExce
9、ption类描述的。类描述的。1/13/20239Java 程序设计11.3.2 必检异常和免检异常必检异常和免检异常 RuntimeExecption、Error以及它们的以及它们的子类都称为免检异常(子类都称为免检异常(unchecked exception)。)。所有其他异常都称为必检异所有其他异常都称为必检异常(常(checked exception),),意思是指编译意思是指编译器会强制程序员检查并处理它们。器会强制程序员检查并处理它们。1/13/202310Java 程序设计11.4 异常处理异常处理 Java的异常处理模型基于三种操作:声明的异常处理模型基于三种操作:声明异常(异
10、常(declaring an exception)、)、抛出异抛出异常(常(throwing an exception)和捕获异常和捕获异常(catching an exception)1/13/202311Java 程序设计11.4.1 声明异常声明异常 在在Java中,当前执行的语句属于某个方法。中,当前执行的语句属于某个方法。对于对于Java application,Java解释器调用解释器调用main方法;对于方法;对于applet,Web浏览器调用浏览器调用applet的无参构造方法,随后调用的无参构造方法,随后调用init方法。方法。每个方法都必须说明它可能抛出的必检异常每个方法都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 编程 技术 11
限制150内