- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章异常处理
• 本章主要内容:
4.1 异常处理概述——重点
4.2 常见的异常——重点
4.3 throw和throws语句——难点
4.4 综合举例—— 了解
4.1异常处理概述
4.1.1 异常处理机制
通常的异常处理方法:
……
一个操作或方法的返回值;
If (返回值的判断A){ }
else if(返回值的判断B){ }
else if(返回值的判断C){ }
else if(返回值的判断C){ }
……
4.1异常处理概述
以上方法存在的问题是:
显然虽然这样可以保证系统的强壮性,但
是如果每个操作,每个方法都这样去判断,
无疑将大大增加代码的复杂性,降低代码
的可读性及可维护性。而且这些代码本身
的复杂性就很容易引起错误。
4.1.1异常处理机制
Java提供的异常处理机制是采取抛出异常,然后捕
获异常的处理形式:
……
尝试做以下操作 //如果花括号里的语句发生异常,
将抛出异常信息。
{
一个操作或方法并返回一个结果
}
//写出可能发生的异常类型,捕获异常
捕获异常为A类型时{……}
捕获异常为B类型时{……}
捕获异常为C类型时{……}
捕获异常为D类型时{……}
……
异常处理机制分为以下两个步骤:
抛出异常:在程序运行中当语义规则被违反时,将会抛
出(throw)异常,即产生一个异常事件,生成一个异常对
象,并把它交给运行系统,再由运行系统寻找相应的代码
来处理异常。异常对象中包含了异常事件类型、程序运行
状态等必要信息。
捕获异常:异常抛出后,系统从生成异常对象的代码开
始,沿方法的调用栈进行查找,直到找到包含相应处理的
方法代码,并把异常对象交给该方法为止,这个过程称为
捕获(catch)异常。
图4- 1描述了该过程。
异常处理机制
异常类层次结构
4.1异常处理概述
对于构造大型、健壮、可维护的应用系统而言,
错误处理是整个应用需要考虑的重要方面。
Java 异常处理机制确保在程序运行出现意外时,
系统会生成一个Exception对象来通知程序,从而
实现将“业务功能实现代码”和“错误处理代码”分
离,提供更好的可读性及可维护性。
4.1.2 异常处理语句的基本语法
try {
//可能会发生异常的程序代码
}
catch(异常类型异常类的参数名) {
//异常处理代码
}
[catch(异常类型异常类的参数名) {
//异常处理代码
}
……
]
[finally {
//异常发生,方法返回之前,总是要执行的代码
}]
运行结果如下:
运行结果如下
运行结果如下:
运行结果如下:
4.2 常见的异常
4.2.1 常见的系统异常
1. ArithmeticException 异常
算术运算异常,当除数为零时就会产生此类异常
。
例如:
int x=2/0; //此时会发生ArithmeticException异常
2.ArrayIndexOutOfBoundsException异常
访问数组元素的下标越界异常,当访问的数组元
素的下标超过数组的上下界时发生此类异常。
例如:
int a[]=new int[3];//定义了数组a,下标从0到2是合法的
int x=a[3]; //下标超过上界,此时会发生
ArrayIndexOutOfBoundsException异常。
3.ArrayStoreException异常
数组存储异常,当数组存储空间不够或类型不匹
配时会产生此类异常。
例如:
int a[]=new int[5];
String b=new String[5];
String.arraryCopy(a,b); //类型
您可能关注的文档
- 网络营销实务 项目式教材 教学课件 王涛 项目八 网络广告(电子课件).pdf
- iOS应用程序开发方法与实践 教学课件 金福生 李朴之_ iOS应用程序开发方法与实践 第02章.pdf
- 网络营销实务 项目式教材 教学课件 王涛 项目四 网络商务信息管理(电子课件).pdf
- iOS应用程序开发方法与实践 教学课件 金福生 李朴之_ iOS应用程序开发方法与实践 第06章.pdf
- 网络营销实用教程 教学课件 周贺来 第04章 网络营销的产品策略.pdf
- 网络营销实用教程 教学课件 周贺来 第07章 网络营销的促销策略.pdf
- IP网络多媒体通信技术及应用 教学课件 朱志祥 1 4 第4章.pdf
- 网络营销项目化教程 教学课件 陈峥嵘 项目二_1_.pdf
- 网络应用工程师实训教程教学课件 刘正华 陈文萍 刘少平 15项目十五 Linux操作系统的安装.pdf
- IP网络多媒体通信技术及应用 教学课件 朱志祥 5 9 第8章.pdf
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
原创力文档


文档评论(0)