版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十二讲:异常处理机制,清华大学出版社利用案例轻松学习Java语言(2013年) 配套课件PPT不足之处请多多指教,课程导入,对象编程的三个特征:封装、继承和多态,Java语言实现了这三个特征。,1、已经学习的相关知识,2、思考问题,每个人都有缺点,任何完美的程序都有可能存在错误,本次课讨论Java语言利用面向对象的方法处理异常。,12.1 异常的概念,不符合语法规则而产生,程序正常运行后 没有得到预期的结果,程序在运行过程中出现的错误, 例如除数为0、数组下标越界,异常指程序在运行过程发生在正常情况以外的事件,例如,用户输入错误、除数为0、需要的文件不存在、文件不能不开、数组下标越界、类型不
2、匹配等等,12.2 异常处理的作用,Java语言的一个重要特征是提供了完善的面向对象异常处理机制,并且容易区别异常处理代码与正常程序代码。,预防错误的程序代码或系统错误所造成的不可预期的结果发生,恢复异常发生前的状态或对这些结果做一些善后处理,以保证程序可以正常结束而不会崩溃,增加了程序的灵活性、程序的可读性和可靠性,减少了编程人员的工作量,12.3 异常处理机制,每当Java程序在运行过程中发生一个可识别的运行错误时,系统都会产生一个相应异常类的对象,并由系统中相应的机制来处理,以确保不会产生死机、死循环或其它对操作系统有损害的结果,从而保证了整个程序运行的安全性。,12.4 异常类结构,J
3、ava语言中定义了很多异常类,每个异常类代表一类运行错误,异常类包含了运行错误的信息(异常数据成员)和处理错误的方法(异常类的成员方法)。,包含Java系统或执行环境中发生的异常,这些异常用户无法捕捉,例如CPU运行错误、内存溢出等等,一般性的异常,如I/O异常、SQL异常等,这些异常是用户可以捕捉的,12.5 异常分类,它代表了Java系统中的内部错误,例如内存不足以及处理器错误等等,如果出现这种错误,这些异常由虚拟机直接抛出。,是程序在运行过程中产生的错误,程序员可以通过调试程序来修复这种错误。例如错误的类型转换、数组下标越界和试图访问空指针等等,可以捕获也可以不捕获。,Java编译器检查
4、它,当程序中可能出现这类异常时,或者用异常处理机制的try-catch语句捕获它,或者用throws子句声明抛出它,否则编译不会通过。例如打开文件时,如果文件不存在将抛出FileNotFoundExcepton属于受检查异常。,如果一个方法采用throws语句抛出了异常则该方法就是受检查异常必须进行捕捉 。,12.6 异常处理方法:try-catch-finally语句,Java语言提供了try-catch-finally语句可以明确的捕捉某种类型的异常,并按照要求进行适当的处理,发挥了异常处理机制的最佳优势。,语法格式12-1 异常处理格式,12.6 异常处理方法:try-catch-fin
5、ally语句,程序案例12-1:捕获除数为0的异常,如果population为0,则抛出ArithmeticException异常,12.6 异常处理方法:try-catch-finally语句,程序案例12-2:处理数组下标越界异常,当i=4时,抛出ArrayIndexOutOfBoundsException异常,捕获抛出的异常,不论是否有异常,这两条语句都被执行,12.6 异常处理方法:try-catch-finally语句,程序案例12-3:同时处理多个异常,抛出ArrayIndexOutOfBoundsException和NumberFormatException异常,12.6 异常处
6、理方法:try-catch-finally语句,程序案例12-4:采用Exception捕捉任何异常,抛出ArrayIndexOutOfBoundsException和NumberFormatException异常,因为Exception是所有异常类的父类,根据对象多态,可以捕获所有的Exception的子类,12.7 异常处理的负面影响,不应该一味追求软件的健壮性而大量使用异常处理机制,而应该仅仅在程序中可能出现异常的地方使用trycatch语句。,Java虚拟机需要执行额外的操作来定位处理异常的代码块,这时会对性能产生一定负面影响!,降低影响,2、不把方法本身可以处理的异常推给方法的调用者去处理,1、抛出异常的代码块位于同一个方法中,12.8 课堂小结,2、Java的异常分为哪几种类型,画出类结构图?,程序运行异常指程序运行过程中出现的异常情况,例如数组溢出、除数为0等。,1、程序的错误分为哪几类,什么是程序运行异常?,异常分为受检查异常和不受检查异常,其中CheckedException的子类是受检查异常,必须进行捕获,Error和RuntimeException是不受检查异常,可以不捕获。,程序错误分为语法错误、运行错误和逻辑错误。,12.8 课堂小结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供电所主任述职报告
- 2024建设工程合同管理试卷
- 2024新版电视栏目合作合同
- 2024至2030年中国高压钠灯电子触发器数据监测研究报告
- 2024至2030年中国边纱钳支架数据监测研究报告
- 2024年电梯、自动扶梯及升降机项目评价分析报告
- 2024年电工机械专用设备项目评估分析报告
- 2024至2030年中国盐渍荞头数据监测研究报告
- 2024至2030年中国浓缩油污处理剂数据监测研究报告
- 2024至2030年中国桥式影椅行业投资前景及策略咨询研究报告
- 教科版五年级科学上册(风的作用) 教学课件
- 全国初中语文优质课一等奖《诫子书》课堂实录及评析
- JJG 148-2006标准维氏硬度块
- GB/T 699-2015优质碳素结构钢
- 新历史主义文艺思潮
- GB/T 4337-2015金属材料疲劳试验旋转弯曲方法
- GB/T 28762-2012数控剪板机
- 品管圈徽SOS圈释义
- 萨提亚模式家庭治疗课件
- 行政事业单位全面实施预算绩效管理思路和路径及其评课件
- 《墨梅》课件(省一等奖)
评论
0/150
提交评论