




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章异常1-2概要异常处理try-catch语句异常类I/O异常工具提示和助记符组合框滚动窗格与分隔窗格1-3异常Java程序中发生的问题可能产生异常或错误。一个异常是一个定义非正常情况或者错误的对象,由程序或运行时环境抛出,可以根据需要进行相应的捕捉和处理一个错误类似于异常,不同之处是错误代表不可恢复的问题并且不能被捕捉处理。Java预定义了一组程序执行过程中可能发生的异常和错误1-4异常处理程序有如下三种方式来处理异常:忽略异常(程序中不做任何异常处理)在出现异常的地方进行处理在程序的其他地方进行处理异常处理的方式设计中应该重点考虑的问题1-5异常处理如果程序忽略异常,程序将以非正常情况终止,并且产生描述该异常以及异常出现位置的信息。
这些信息包括称作栈跟踪的信息:表示异常发生的行方法调用的堆栈跟踪信息
参考Zero.java
(第362页)1-6概要异常处理try-catch语句异常类I/O异常工具提示和助记符组合框滚动窗格与分隔窗格1-7try语句为了处理程序中的异常,抛出异常的语句行应该在Try语句块中执行Try语句块后可以跟一个或者多个catch
子句每个catch子句都有一个相关的异常类型以及异常处理器出现异常时,流程将转到第一个与异常类型匹配的catch子句参考ProductCodes.java
(第364页)1-8finally子句try语句在Catch子句后,可以跟一个可选的finally子句finally子句中的语句总会被执行如果没有异常产生,那么当try语句块中的语句执行完毕,finally子句的语句将被执行如果产生异常,当与异常匹配的catch子句执行完毕后,finally子句将被执行1-9异常的传播如果异常在出现时未被捕获和处理,那么异常将传向调用的方法。此时异常如果未被捕获,那么控制会再次返回到上一调用方法中,这个过程称作异常的传播。传播过程将继续下去直到异常被捕捉并得到处理,或者最终传递到main方法的外面。通过适当的设计,可以在外层的某个级别上捕捉并处理异常。参考Propagation.java
(第366页)参考ExceptionScope.java
(第367页)1-10概要异常处理try-catch语句异常类I/O异常工具提示和助记符组合框滚动窗格与分隔窗格1-11异常类的层次结构1-12可检测异常和不可检测异常可检测异常必须通过方法捕获,或者列入用以抛出的方法的throws子句内。throws子句位于方法头定义中,目的是正式确认此方法可能抛出或者是传播这样的特定异常。对于方法内未被捕获和处理的可检测异常则必须在方法头中包含一条throws子句。不可检测异常无需throws子句。Java中仅有的不可检测异常为RuntimeException类或其子类的对象,其余所有异常均被视为可检测异常。1-13用户自定义异常和throw语句程序员可以从Exception类或它的后代类派生一个新类,定义自己的异常选择什么类作为父类由新异常所代表的问题和条件决定使用throw语句可以抛出异常通常是通过if条件判断确定是否要执行throw语句来决定是否应该抛出异常。参考CreatingExceptions.java
(第370页)参考OutOfRangeException.java
(第371页)1-14概要异常处理try-catch语句异常类I/O异常工具提示和助记符组合框滚动窗格与分隔窗格1-15I/O异常在处理输入\输出的过程中常常会产生预想不到的结果,导致出现异常抛出的情况发生。流指的是一个字符序列,可作为输入源或者是输出的流向(目的端)程序中,从输入流读入数据,向输出流写入数据。一个程序中可以同时处理多个流1-16标准I/O有三种标准I/O流:标准输出
–由System.out定义标准输入
–由System.in定义标准错误
–由System.err定义当执行println语句的时候,我们使用System.out
System.out
与System.err指的显示器上的一个特定的图形化的窗口System.in
表示键盘输入,我们使用Scanner对象时多次使用过。1-17IOException类一些I/O类的操作可能抛出IOException异常。文件也许不存在即使文件存在,程序可能也找不到此文件文件不包含我们需要的数据IOException
是可检测异常1-18写文本文件在第5章中,我们使用过Scanner类来从一个文本文件中读取数据现在来看看一些帮助我们向文本文件写入数据的其他类FileWriter类表示一个文本输出文件,但是只用最少几个方法支持数据维护。BufferedWriter类提供输出流缓冲可以使I/O处理更有效率。PrinterWriter类提供了print方法和println方法参考TestData.java
(第373页)注意:输出流应该被显示地关闭,方法要有throws子句1-19概要异常处理try-catch语句异常类I/O异常工具提示和助记符组合框滚动窗格与分隔窗格1-20工具提示工具提示就是当鼠标光标停留在组件上时,显示的简短描述文字通过Swing组件的setToolTipText方法指定工具提示 JButtonbutton=newJButton("Compute"); button.setToolTipText("Calculatesize");1-21助记符助记符是一个字符,它使用户出列使用鼠标之外,还可以使用键盘按下一个按钮或者现则某个菜单项助记符应该从按钮标签或者菜单项文字中选择某个字符用户在按住ALT键的同时按下组件的助记符来激活此组件通过setMnemonic方法来建立助记符: JButtonbutton=newJButton("Calculate"); button.setMnemonic("C");1-22无效组件组件不能再使用时,可以设置为无效状态无效状态的组件颜色将变成灰色并且不能再响应用户交互使用setEnabled方法设置组件无效: JButtonbutton=newJButton(“DoIt”); button.setEnabled(false); 1-23GUI设计恰当的结合组件的特性,例如工具提示和助记符组件能增强GUI的可用性参考LightBulb.java(第376页)参考LightBulbPanel.java(第377页)参考LightBulbControls.java(第378页)1-24概要异常处理try-catch语句异常类I/O异常工具提示和助记符组合框滚动窗格与分隔窗格1-25组合框组合框允许用户从一个下拉菜单中选择多个可选项中的一个组合框中显示当前选择项只有当用户使用鼠标点击组合框时,才会显示可选列表供用户选择通过字符数组或者addItem方法建立组合框中的选项1-26JukeBox程序当用户从组合框中选中某个选项时,就会产生一个动作事件参考JukeBox.java(第380页)参考JukeBoxControls.java(第381页)1-27概要异常处理try-catch语句异常类I/O异常工具提示和助记符组合框滚动窗格与分隔窗格1-28滚动窗格有时要处理的信息或者图像太大,以至于不能完全放入一个适当大小的区域,此时可以使用滚动窗格滚动窗格为其所包含的组件提供了一个有限视图滚动窗格提供了垂直或者水皮滚动条用户使用滚动条可以浏览组件的其他区域滚动窗格不需要事件监听器参考TransitMap.java(第384页)1-29分隔窗格分隔窗格(JSplitPane)是一个容器,它将显示的两个组件用一个可移动的分隔条隔开两个组件可以上下显示或者左右显示可移动得分隔条左部组件右部组件顶部组件底部组件1-30分隔窗格使用HORIZONTAL_SPLIT或者VERTICAL_SPLIT
常量来设置组件的排列方式使用鼠标拖动分隔条,可以调整组件所在区域的大小分隔窗格可以嵌套使用1-31列表Swing的Jlist类表示一个可供用户选择数据项的列表Jlist对象的内容可以通过一个数组对象指定如果当前选项改变,Jlist对象产生一个列表选择事件
参考PickImage.java(第387页)参考ListPanel.java(第388页)1-32列表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年临淄中学测试题及答案
- 2025年博士思政面试题及答案
- 2025年云南农职考试试题及答案
- 2025年有趣的汉字大班标准教案
- 2025年蛙泳理论考试试题及答案
- 2025年6数第2单元试题及答案
- 2025年开动脑筋试题及答案
- 2025年美术体育学考试题及答案
- 2025年街道晋升面试题及答案
- 2025年高中地理招教试题及答案
- 部编版(统编)一年级语文下册每课练习题(全册全套)
- DB62∕T 4134-2020 高速公路服务区设计规范
- 中电朝阳250兆瓦智慧风储一体化风电项目环评报告书
- 专利文件撰写殷红梅课件
- 做一个幸福教师
- 海上风电场+风机基础介绍
- 国家自然科学基金申请标书模板
- GB T 20219-2015 绝热用喷涂硬质聚氨酯泡沫塑料(高清版)
- 车间断针记录表
- 人人有事做事事有人做
- MT_T 693-2019-矿用无线电波透视仪通用技术条件_(高清版)
评论
0/150
提交评论