




免费预览已结束,剩余17页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第六章例外处理 Exceptions Exceptions的概念 例外处理 自定义例外 2 1PublicclassHelloWorld 2publicstaticvoidmain Stringargs 3inti 0 4Stringgreetings HelloWorld Hello 5 HELLOWORLD 6while i 4 7System out println greetings i 8i 9 10 11 HelloWorld Hello HELLOWORLD Java lang ArrayIndexOutOfBoundsExceptionatHelloWorld main HelloWorld java 7 3 Exception的概念 Exception是在程序运行时打断正常程序流程的异常的情况试图打开的文件不存在网络链接中断操作符越界要加载类文件不存在 Java中定义了各种例外 4 Java中定义了各种例外 Java lang Throwable是这些类的父类 Java中定义的例外 5 Error很难恢复的严重错误 一般不由程序处理 RuntimeException程序设计或实现上的问题 如数组越界等 其它例外通常是由环境因素引起的 并且可以被处理的 如文件不存在 无效URL等 6 例外处理 扑获并处理例外 将方法中产生的例外抛出 7 示例 ListOfNumbers importjava io importjava util Vector publicclassListOfNumbers privateVectorvictor privatestaticfinalintsize 10 publicListOfNumbers victor newVector size for inti 0 i size i victor addElement newInteger i publicvoidwriteList printWriterout newPrintWriter newFileWriter OutFile txt for inti 0 i size i out println Valueat i victor elementAt i out close 8 扑获与处理例外 Try语句块 catch语句块 finally语句块 9 Try语句块 一般形式 try Javastatements 一条或多条可能产生例外的java语句 try语句后必须跟随至少一个catch或finally语句块 10 Catch语句块 Catch语句块提供错误处理 一般格式 catch SomeThrowableObjectvariableName Javastatements SomeThrowableObject 能够被处理的例外类名 必须是throwable类的子类 variableName 是例外处理程序中能够引用的代表被扑获例外的变量名称 Javastatements 当扑获到例外时执行的java语句 11 Finally语句块 将先前方法的状态清除 并可以将控制转移到程序的其他地方 finally语句块无论是否发生异常都要执行 12 例外处理 Try catch和finally语句 1Try 2 codethatmightthrowapartcularexception3 catch MyExceptionTypee 4 codetoexcuteifaMyExceptionTypeexceptionisthrown5 catch Exceptione 6 codetoexecuteifageneralExceptionexceptionisthrown7 finally 13 publicvoidwriteList PrintWriterout null try System out println Enteringtrystatement out newPrintWriter newFileWriter OutFile txt for inti 0 i size i out println Valueat i victor elementAt i catch ArrayIndexOutOfBoundsExceptione System err println CaughtArrayIndexOutOfBoundsException e getMessage catch IOExceptione System err println CaughtIOException e getMessage finally if out null System out println ClosingPrintWriter out close else System out println PrintWriternotopen 14 writeList方法中的try语句块的执行可能有三种情况 出现了IOException出现了数组越界错误正常退出 EnteringtrystatementCaughtIOException OutFile txtPrintWriternotopen EnteringtrystatementCaughtArrayIndexOutOfBoundsException 10 10ClosingPrintWriter EnteringtrystatementClosingPrintWriter 15 多种例外的同时处理 16 例外处理可以针对这个体系中的任意一个类 叶结点 是具体 专用的例外处理 中间结点 是通用的例外处理 可以处理该结点及其子类类型的例外 例 writeList方法 try catch Exceptione System err println Exceptioncaught e getMessage 17 扑获与处理例外示例 Publicstaticvoidmain Stringargs inti 0 Stringgreetings HelloWorld Hello HELLO while i 4 try System out println greetings i catch ArrayIndexOutOfBoundsExceptione System out println Re settingIndexValue i 1 finally System out println Thisisalwaysprinted i HelloWorld ThisisalwaysprintedHello ThisisalwaysprintedHELLO ThisisalwaysprintedRe settingIndexValueThisisalwaysprinted 18 例外处理 抛出例外 可能产生例外的方法表明将不处理该例外 而该例外将被抛到调用该方法的程序 例 publicvoidtroublesome throwsIOException 如果一个例外在返回到main 时还未被处理 则程序将非正常终止 19 例 publicObjectpop throwsEmptyStackException Objectobj if size 0 thrownewEmptyStackException obj objectAt size 1 setObjectAt size 1 null size returnobj 抛出例外的throw语句 throwsomeThrowableObject 例外处理 抛出例外 20 自定义例外 定义例外类 是Exception类的子类 可包含普通类的内容 publicclassServerTimeOutExceptionextendsException privateStringreason privateintport publicServerTimeOutException Stringreason intport this reason reason this port port publicStringgetReason returnreason publicintgetPort returnport 21 抛出产生的例外 PublicvoidconnectMe StringserverName throwsServerTimeOutException intsuccess intportToConnect 80 success open serverName portToConnect if success 1 thrownewServerTimedOutException Couldnotconnect 80 22 获得例外并处理 PublicvoidfindServer try co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)喝酒罚款协议书
- (2025年标准)剧本改编服务协议书
- 2025年房款押金转让协议书
- (2025年标准)美加自贸协议书
- (2025年标准)农田抛荒协议书
- (2025年标准)转包方式协议书
- 2025年新产品特许销售协议书
- 建筑工程项目施工与管理协议
- 解聘期间的薪资支付协议
- 农村绿色生态环保项目合作协议
- 头脑特工队-Inside-Out中英文字幕对照
- XX村集体经济发展章程
- 工程项目决算书
- DZ∕T 0399-2022 矿山资源储量管理规范(正式版)
- 2024年国药控股股份有限公司招聘笔试冲刺题(带答案解析)
- “新高考、新课标、新教材”背景下2025届高考地理二轮三轮复习备考策略
- 葡萄糖耐量试验课件
- 常见泌尿系统疾病的护理与治疗
- 儿童读写三十讲
- 可编程控制器系统应用编程(1+X)培训考试题库汇总(附答案)
- 不等式及其基本性质说课课件
评论
0/150
提交评论