- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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的异常处理机制优点:
异常处理代码和正常的业务代码分离,提高了程序的可读性,简化了程序的结构,保证了程序的健壮性;
将不同类型的异常进行分类,不同情况的异常对应不同的异常类,充分发挥类的可扩展性和可重用性的优势;
可以对程序产生的异常进行灵活处理,如
您可能关注的文档
最近下载
- 油田制度建设方案.pdf VIP
- 2024年湖北省武汉市黄陂区盘龙城经济开发区招聘社区工作者真题参考答案详解.docx VIP
- 县乡教师选调考试《教师职业道德》题库精品【模拟题】.docx VIP
- 流式细胞术免疫分型基础.pdf VIP
- 2025山东城市建设职业学院教师招聘考试试题.docx
- 白血病淋巴瘤免疫分型.ppt VIP
- (高清版)B-T 40872-2021 塑料 聚乙烯泡沫试验方法.pdf VIP
- 流式细胞术在白血病、淋巴瘤免疫分型中的应用.ppt VIP
- 2024年湖北省武汉市黄陂区盘龙城经济开发区招聘社区工作者真题及参考答案详解.docx VIP
- 碳足迹认证与核查服务合同.doc VIP
文档评论(0)