Java预定义了一组程序执行过程中可能发生的异常和错误.pptVIP

Java预定义了一组程序执行过程中可能发生的异常和错误.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java预定义了一组程序执行过程中可能发生的异常和错误.ppt

第10章 异常 概要 异常 Java程序中发生的问题可能产生异常或错误。 一个异常是一个定义非正常情况或者错误的对象,由程序或运行时环境抛出,可以根据需要进行相应的捕捉和处理 一个错误类似于异常,不同之处是错误代表不可恢复的问题并且不能被捕捉处理。 Java预定义了一组程序执行过程中可能发生的异常和错误 异常处理 程序有如下三种方式来处理异常: 忽略异常(程序中不做任何异常处理) 在出现异常的地方进行处理 在程序的其他地方进行处理 异常处理的方式设计中应该重点考虑的问题 异常处理 如果程序忽略异常,程序将以非正常情况终止,并且产生描述该异常以及异常出现位置的信息。 这些信息包括称作栈跟踪的信息: 表示异常发生的行 方法调用的堆栈跟踪信息 参考 Zero.java (第362页) 概要 try 语句 为了处理程序中的异常,抛出异常的语句行应该在Try语句块中执行 Try语句块后可以跟一个或者多个 catch 子句 每个 catch 子句都有一个相关的异常类型以及异常处理器 出现异常时,流程将转到第一个与异常类型匹配的catch子句 参考 ProductCodes.java (第364页) finally 子句 try 语句在Catch子句后,可以跟一个可选的finally子句 finally 子句中的语句总会被执行 如果没有异常产生,那么当try语句块中的语句执行完毕,finally子句的语句将被执行 如果产生异常, 当与异常匹配的catch子句执行完毕后,finally子句将被执行 异常的传播 如果异常在出现时未被捕获和处理,那么异常将传向调用的方法。此时异常如果未被捕获,那么控制会再次返回到上一调用方法中,这个过程称作异常的传播。 传播过程将继续下去直到异常被捕捉并得到处理,或者最终传递到main方法的外面。 通过适当的设计,可以在外层的某个级别上捕捉并处理异常。 参考 Propagation.java (第366页) 参考 ExceptionScope.java (第367页) 概要 异常类的层次结构 可检测异常和不可检测异常 可检测异常必须通过方法捕获,或者列入用以抛出的方法的throws子句内。 throws子句位于方法头定义中,目的是正式确认此方法可能抛出或者是传播这样的特定异常。 对于方法内未被捕获和处理的可检测异常则必须在方法头中包含一条throws子句。 不可检测异常无需throws子句。 Java中仅有的不可检测异常为RuntimeException类或其子类的对象,其余所有异常均被视为可检测异常。 用户自定义异常和throw 语句 程序员可以从Exception类或它的后代类派生一个新类,定义自己的异常 选择什么类作为父类由新异常所代表的问题和条件决定 使用throw 语句可以抛出异常 通常是通过if条件判断确定是否要执行throw语句来决定是否应该抛出异常。 参考 CreatingExceptions.java (第370页) 参考 OutOfRangeException.java (第371页) 概要 I/O 异常 在处理输入\输出的过程中常常会产生预想不到的结果,导致出现异常抛出的情况发生。 流指的是一个字符序列,可作为输入源或者是输出的流向(目的端) 程序中,从输入流读入数据,向输出流写入数据。 一个程序中可以同时处理多个流 标准I/O 有三种标准 I/O流: 标准输出 – 由 System.out定义 标准输入 – 由 System.in定义 标准错误 – 由 System.err定义 当执行println 语句的时候,我们使用System.out System.out 与System.err指的显示器上的一个特定的图形化的窗口 System.in 表示键盘输入,我们使用Scanner对象时多次使用过。 IOException 类 一些 I/O类的操作可能抛出IOException异常。 文件也许不存在 即使文件存在,程序可能也找不到此文件 文件不包含我们需要的数据 IOException 是可检测异常 写文本文件 在第5章中,我们使用过Scanner 类来从一个文本文件中读取数据 现在来看看一些帮助我们向文本文件写入数据的其他类 FileWriter类表示一个文本输出文件,但是只用最少几个方法支持数据维护。BufferedWriter类提供输出流缓冲可以使I/O处理更有效率。PrinterWriter类提供了print方法和println方法 参考 TestData.java (第373页) 注意:输出流应该被显示地关闭,方法要有throws子句 概要 工具提示 工具提示就是当鼠标光标停留在组件上时,显示的简短描述文字 通过Swing 组件的setToolTipText方法指定工具

文档评论(0)

18273502 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档