07_第7章异常讲解.pptxVIP

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 异常 理解异常的概念和异常处理机制 理解Java异常的分类 掌握try、catch、finally使用方法 掌握throw、throws的使用方法 掌握自定义异常的定义和使用方法 本章重点 本章任务是使用异常处理完善“Q-DMS数据挖掘”系统的数据采集及分析处理: 任务驱动 【任务7-1】 菜单驱动增加异常处理,以防用户输入不合法的菜单。 【任务7-2】 日志和物流数据采集增加异常处理,以防用户输入不合法的数据。 【任务7-3】 自定义数据分析异常类,数据分析处理过程中抛出自定义异常。 学习路线 本章目标 知识点 听 看 抄 改 写 异常概述 ★ ★ ★ 捕获异常 ★ ★ ★ ★ ★ 抛出异常 ★ ★ ★ ★ 自定义异常 ★ ★ ★ 这种在运行时出现的意外错误称为“异常” 对异常的处理机制也成为判断一种语言是否成熟的标准。 好的异常处理机制会使程序员更容易写出健壮的代码,防止代码中Bug的蔓延 7.1 异常概述 7.1.1 异常类 Java中的异常类可以分为两种: 错误(Error):一般指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等,这些错误无法恢复或捕获,将导致应用程序中断; 异常(Exception):因程序编码错误或外在因素导致的问题,这些问题能够被系统捕获并进行处理,从而避免应用程序非正常中断,例如:除以0、对负数开平方根、空指针访问等。 Throwable是所有异常类的父类,Error和Exception都继承此类: 当程序产生Error时,因系统无法捕获Error并处理,程序员将无能为力,程序只能中断; 当发生Exception时,系统可以捕获并做出处理,因此本章所介绍的异常处理操作都是针对Exception及其子类而言的 Exception异常从编程角度又可以分为以下两种类型: 非检查型异常:编译器不要求强制处置的异常,该异常是因编码或设计不当导致的,这种异常可以避免,RuntimeException及其所有子类都属于非检查型异常 检查型异常:编译器要求及其子类(RuntimeException及其子类除外)都属于检查型异常必须处理的异常,该异常是程序运行时因外界因素而导致的,Exception 常用的异常类: 异常分类 类名 说明 非检查型异常 ArrayIndexOutOfBoundsException 数组下标越界异常 NullPointerException 空指针访问异常 NumberFormatException 数字格式化异常 ArithmeticException 算术异常,如除以0溢出 ClassCastException 类型转换不匹配异常 检查型异常 SQLException 数据库访问异常 IOException 文件操作异常 FileNotFoundException 文件不存在异常 ClassNotFoundException 类没找到异常 检查型异常体现了Java语言的严谨性,程序员必须对该类型的异常进行处理,否则程序编译不通过,无法运行。RuntimeException及其子类都是Exception的子类,Exception是所有能够处理的异常的父类。 异常是在程序执行期间产生的,会中断正常的指令流,使程序不能正常执行下去 7.1.2 异常处理机制 public class ExceptionDemo1 { public static void main(String[] args) {? // 产生除以0的算术异常,程序中断 int i = 10 / 0; ? // 因执行上一句代码时程序产生异常,中断,该条语句不会执行 System.out.println(end); ? }? } 为了使程序出现异常时也能正常运行下去,需要对异常进行相关的处理操作,这种操作称之为“异常处理” Java的异常处理机制可以让程序具有良好的容错性,当程序运行过程中出现意外情况发生时,系统会自动生成一个异常对象来通知程序,程序再根据异常对象的类型进行相应的处理 Java提供的异常处理机制有两种: 使用try…catch捕获异常:将可能产生异常的代码放在try语句中进行隔离,如果遇到异常,程序会停止执行try块的代码,跳到catch块中进行处理。 使用throws声明抛出异常:当前方法不知道如何处理所出现的异常,该异常应由上一级调用者进行处理,可在定义该方法时使用throws声明抛出异常。 Java的异常处理机制优点: 异常处理代码和正常的业务代码分离,提高了程序的可读性,简化了程序的结构,保证了程序的健壮性; 将不同类型的异常进行分类,不同情况的异常对应不同的异常类,充分发挥类的可扩展性和可重用性的优势; 可以对程序产生的异常进行灵活处理,如

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档