- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
不可检测异常无需throws子句Java中仅有的-天津大学计算机学院
第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方法指定工具
您可能关注的文档
- 2014届试验班练习-古田一中.DOC
- 2014年普通高等学校招生全国统一考试化学试题分类汇编有机化学.DOC
- 2014年甘肃农机购置补贴机具种类范围.DOC
- 2014年监测年报-辽宁国家重点监控企业自行监测信息发布平台.DOC
- 2014年重庆高考理科综合化学试题-VCM仿真试验.DOC
- 2014年高考化学模拟试题五含答案-VCM仿真试验.DOC
- 2014年高考化学模拟试题六含答案-VCM仿真试验.DOC
- 2014美国冬令营通知-西城区青少年科技馆.DOC
- 2015—2017年内蒙古农机购置补贴机具种类范围.DOC
- 2015国际田联世界田径锦标赛.DOC
- 实验室危废随意倾倒查处规范.ppt
- 实验室危废废液处理设施规范.ppt
- 实验室危废处置应急管理规范.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第20课时 中国的地理差异.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第21课时 北方地区.ppt
- 危险废物处置人员防护培训办法.ppt
- 危险废物处置隐患排查技术指南.ppt
- 2026部编版小学数学二年级下册期末综合学业能力测试试卷(3套含答案解析).docx
- 危险废物处置违法案例分析汇编.ppt
- 2026部编版小学数学一年级下册期末综合学业能力测试试卷3套精选(含答案解析).docx
最近下载
- 浙江省义教育课程设置与课时安排.doc VIP
- 江苏省南京市联合体八年级上学期期末道德与法治试卷(含答案).docx VIP
- 海康威视DSK2210梯控配置指南.pdf
- 小说阅读:叙事艺术之情节安排技巧-高考语文小说阅读全复习(全国通用).docx VIP
- 新一代大学英语(基础篇)综合教程- 视听说教程-视听说教程B1U1.pptx VIP
- 12J01 重庆市房屋建筑及市政基础设施工程安全文明施工标准图集(一)施工围挡(1类)DJBT-063.docx VIP
- 专题 化学反应速率与化学平衡(解析版)--2026年高考化学.pdf VIP
- NYT2539-2016 农村土地承包经营权确权登记数据库规范.pdf VIP
- 贵州省贵阳市2024-2025学年九年级上学期期末历史试题(含答案).pdf VIP
- DB34_T 2290-2022 水利工程质量检测规程.docx
原创力文档


文档评论(0)