- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
异常(Exc与eption)处理
自定义异常 通过继承java.lang.Exception类声明自己的异常类。 在方法适当的位置生成自定义异常的实例,并用throw抛出。 在方法的声明部分用throws声明该方法可能抛出的异常。 * 第七章 异常(Exception)处理 异常 运行期出现的错误 (注意看异常信息,看名字,看行号) 健壮性 代码 public class HelloWorld { public static void main (String args[]) { int i = 0; String greetings [] = { Hello!,No,WORLD!}; while (i 4) { System.out.println (greetings[i]); i++; } } } 正常与异常 正常与异常之比可达30% 比 70% 打开文件 文件不存在? 文件打不开? 读取文件 没有足够可读内容? 权限不允许读 写文件 磁盘满 网络断线 关闭文件 异常机制简介 在进行程序设计时,错误的产生是不可避免的,如何处理错误?把错误交给谁去处理?程序又该如何从错误中恢复?这是任何程序设计语言都要解决的问题。 所谓错误,是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻碍程序的正常运行。为了增加程序的强壮性,程序设计时,必须考虑到可能发生的异常情况并做出相应的处理。 异常处理的优点 把错误处理代码从常规代码中分离出来 按错误类型和差别分组 对无法预测的错误进行捕获和处理 克服了传统方法的错误信息有限的问题 把错误传播给调用堆栈 系统预定义异常对象 NullPointerException Throwable Exception Error VirtualMachineError RuntimeException ArithmeticException ClassNotFoundException FileNotFoundException IOException 须查异常与不须查异常 须查异常 多数的 Throwable、Exception 不须查异常 Error、RuntimeException 当在一个方法的代码中抛出一个须查异常时,这个异常或者被方法中的try-catch结构捕获,或者在方法的throws语句中声明 编译器检查程序保证所有须查异常都被程序显示的处理 Exception 类 Exception 定义了一些你的程序可能出现的轻度错误条件 异常可能发生在: 你试图打开的文件并不存在 网络连接中断 操作数处理的超出预描述的范围 需要加载的文件丢失 Error 类定义了一些严重的错误条件 Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws 捕获异常 catch try finally 执行可能产生 异常的代码 捕获异常 无论是否发生异常, 代码总能执行 手动抛出异常 抛出异常 throw 声明异常 声明方法可能要 抛出的各种异常 throws try,catch 语句的使用 try { //这里的代码可能抛出一个特别的异常 } catch (MyExceptionType e) { 如果MyExceptionType 的异常被抛出,将执行这里的代码 } catch (Exception e) { 如果一个一般 Exception 被抛出时,将执行这里的代码 } 异常的执行流程 正常顺序 1,2,3,5 异常顺序 1,2,4,5 try块外异常不理会 try{ 1 2 3 } catch(Exception e){ 4 } 5 异常发生处 在try/catch块后加入finally块,可以确保无论是否发生异常,finally块中的代码总能被执行 try 块 finally 块 catch 块 无异常 有异常 举例 public class HelloWorld2 { public static void main (String args[]) { int i = 0; String greetings [] = { Hello world!, No, I mean it!, HELLO WORLD!! }; while (i 4) { try { System.out.println (greetings[i]); } catch (ArrayIndexOutOfBoundsException e){ System.
您可能关注的文档
- 开店怎样与防止店员作假 .ppt
- 开式及闭与式系统区别 .ppt
- 开口组组与中值计算 .ppt
- 开拓信息与技术教育新局面 .ppt
- 开掘课件与(仇晋忠) .ppt
- 开式齿轮与润滑资料 .ppt
- 2013高考与数学(理)一轮复习课件(考基自主导学+考向探究导析+考题专项突破):任意角、弧度制 .ppt
- 开环幅相与曲线绘制 .ppt
- 开瑞老客与户座谈交流会 .ppt
- 开课介绍与(含校徽、个体旋转字) .ppt
- 湖南省长沙市华益中学2024-2025学年七年级上学期期末考试英语试题.docx
- 吉林省吉林市第三十中学2024-2025学年九年级上学期期末考试数学试题.docx
- 湖南省长沙市湖南师范大学附属中学2024-2025学年高二上学期期末考试数学试题.docx
- 湖南省长沙市宁乡市2024-2025学年高二上学期1月期末地理试题.docx
- 湖南省长沙市宁乡市2024-2025学年高二上学期1月期末生物试题.docx
- 湖南省长沙市开福区青竹湖湘一外国语学校2024-2025学年八年级上学期期末地理试题.docx
- 湖南省长沙市雅礼教育集团联考2024-2025学年八年级上学期1月期末历史试题.docx
- 湖南省长沙市长郡集团2024-2025学年八年级上学期期末考试英语试题.docx
- 湖南省长沙市长郡集团2024-2025学年九年级上学期期末考试化学试卷.docx
- 湖南省长沙市长郡教育集团2024-2025学年八年级上学期1月期末历史试题.docx
最近下载
- 比价单(表格模板、DOC格式)..doc VIP
- 表A5评分表贵州施工企业现场安全管理.docx VIP
- 中班幼儿进餐环节中教师指导的现状调查研究.pdf VIP
- 2025年中国社区O2O行业市场深度分析及发展前景预测报告.docx
- 产品创新战略及实施路径.doc VIP
- 石油、石化和天然气工业用离心泵(GB_T3215—2019_API610 11th)标准解读.pdf VIP
- 协商协议书范本.doc VIP
- 中医及药膳-课件.pptx VIP
- 2025春国开一网一 管理英语3 写作形考任务答案(版本4)(85.5分).doc VIP
- 2024陆上风力发电机组预应力预制混凝土塔筒施工与质量验收规范.pdf VIP
原创力文档


文档评论(0)