java-第08章-异常处理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java-第08章-异常处理

第8章 异常处理 目标 理解异常的概念 运用 try 块、catch 块和 finally 块处理异常 运用多重 catch 块处理异常 运用嵌套 try/catch 块处理异常 运用关键字 throw 和 throws 处理异常 运用JAVA编写和使用自定义异常 处理异常 2-2 try 和 catch 块 2-1 finally 块 异常处理块的一般形式 try{ // 要监控错误的代码块 methodGeneratingException(); } catch (Exception e) { // Exception e 的异常处理程序 throw e; } finally{ // 在 try 结束前要执行的代码块 cleanup(); } Java中的异常处理 问题: 异常处理程序的对象参数作何用处? 作用: 用来向异常处理程序提供信息 多重 catch 块3-1 一段代码可能会生成多个异常 当引发异常时,会按顺序来查看每个 catch 语句,并执行第一个类型与异常类型匹配的语句(异常也是多态的) 执行其中的一条 catch 语句之后,其他的 catch 语句将被忽略 异常类的层次结构 Throwable 具有两个子类,它们是 Exception:处理用户程序应当捕获的异常情况 Error:Error 类的异常为内部错误,因此在正常情况下不期望用户的程序捕获它们 Java异常类 Java中的异常处理 原则:由近及远,找到即停,没有终止。 多重 catch 块3-2 使用多重 catch 语句时,异常子类一定要位于异常父类之前 使用 throw 和 throws 使用 throw 和 throws 许多情况下,无论try是否抛出一个异常,也无论该异常是否在方法中被捕获,都要执行一个过程。(煤气灶) 比如:必须关闭的文件;使用了外部资源等 try { … } catch(…){ … } finally{ … } 用户自定义异常 2-1 自定义异常概念 使用自定义异常的时候 JavaAPI提供的内置异常不一定总能捕获程序中发生的所有错误。有时会需要创建用户自定义异常 自定义异常需要继承Exception 及其子类 实验:异常处理与泛型容器 实验目的: 练习异常类的创建、异常的捕捉、抛出及处理步骤。 实验内容: 260页 8.4.2题 定义一个Circle类,其中有求面积的方法area( ),当圆的半径小于0时,抛出一个自定义的异常。编程实现之。(提示:至少需要Circle 类和自定义的异常类NegativeException) 总结 异常是运行时发生的错误 可以使用 try、catch、throw、throws 和 finally 来管理 Java 异常处理。要监控的程序语句包含在 try 块内catch 块中的代码用于捕获和处理异常。在方法返回之前绝对必须执行的代码应放置在 finally 块中 要手动引发异常,使用关键字 throw。任何被抛到方法外部的异常都必须用 throws 子句指定 多重catch 和嵌套try-catch的使用 自定义异常的编写和使用 异常处理最好只用于错误处理,而不应是用于程序业务逻辑的一部份,因为异常的产生要消耗资源 练习题 1、编写一个自定义的异常类,包含一个add( )方法(用于两个数相加),如果add( )方法中的两个参数的和小于10,则抛出一个自定义异常类的对象,输出错误信息。 另外要求add( )方法要用throws关键字声明该方法要抛出自定义异常和算术异常。 2、定义一个circle类,其中有求面积的方法,当圆的半径小于0时,抛出一个自定义的异常。编程实现之。 * * * * * 软件复用 软件复用 异常处理入门 想尝试捕捉异常,可以使用try、catch、finally三个关键词组合的语法来达到 try { //陈述句 } catch(异常型态 名称) { //异常处理 } finally { //一定会处理的区块 } 手动引发异常 指定由方法引发的异常 try finally catch throws throw 要监控的程序语句包含在此块中 以合理的方式 捕获和处理异常 释放资源等 try catch 异常 执行 catch 后程序 继续正常运行 程序控制 引发 代码块 单 元 try 块 finally 块 catch

文档评论(0)

shujukd + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档