ImageVerifierCode 换一换
格式:PPT , 页数:21 ,大小:244KB ,
资源ID:10135676      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10135676.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java第十一讲 异常处理.ppt)为本站会员(hwpkd79526)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Java第十一讲 异常处理.ppt

1、第十一讲 异常处理,本章要点,理解异常和错误处理 理解JAVA的异常层次结构及异常分类 掌握基本的异常处理编程,异常,异常(Exception)又称例外-是在程序运行过程中发生的、会打断程序正常执行的事件。 例如:除0 (ArithmeticException)、没有给对象开辟内存空间时会出现空指针异常(NullPointException)、文件找不到(FileNotFoundException)、数组元素下标越界(ArrayIndexOutOfBoundsException)等。这些事件的发生将阻碍程序的正常运行。为了增加程序的容错性、健壮性,程序设计时,必须考虑到可能发生的异常情况并做出

2、相应的处理。 设计程序时必须考虑可能发生的异常事件并作出相应的处理。传统程序设计时,要由编程者自己测试出错发生的原因,通过if语句判断是否出现了异常事件,并进行相应的处理。,异常,传统异常处理存在的困难和问题 写程序难 大部分精力花在出错处理上了 只把能够想到的错误考虑到 对以外的情况无法处理 程序可读性差 大量的错误处理代码混杂在程序中 出错返回的信息量太少 无法更确切的了解错误状况或原因,5,异常层次结构及分类,异常类的结构,Object,Error,Exception,Throwable,RuntimeException,受控异常,Error与Exception,Throwable以下的

3、异常都可以被捕获 所有Error类及其子类代表java运行时系统中可能发生的异常情况,是致命的,即程序遇到了非常严重的不正常状态,不能简单恢复执行,这就是错误。如:内存耗尽、系统内部错误等,通常我们(应用程序)不应捕获这些异常。 所有Exception类及其子类代表java程序中可能发生的异常情况,是非致命的,通过某种修正后程序还能继续执行。这类错误叫作异常。如:文件不存在、无效的下标、空引用、网络断开、打印机脱机、磁盘满了等,通常我们(应用程序)可以捕获这些异常。,Exception分类,Exception是要重点掌握的,它也分为两类: (1)受控异常(检查异常):java编译器对受控异常强

4、制执行捕获或者声明,Exception,ClassNotFoundException,AWTException,IOException,NoSuchMethodException,Exception分类,(2)不受控异常(非检查异常):java编译器不会检查代码以确定是捕获或者声明不受控异常。尽管编译器对不受控异常没有捕获或者声明的强制要求,但在知道可能发生这种异常时应提供合适的异常处理代码。,9,不受控异常,IndexOutOfBoundsException,NullPointerException,NoSuchElementException,illegalArgumentExceptio

5、n,ArithmeticException,RuntimeException,ArrayIndexOutOfBoundsException,StringIndexOutOfBoundsException,NumberFormatException,异常处理,try-catch结构try/可能产生异常的代码 catch(someException e)/处理异常的代码 catch(someException e)/处理异常的代码,异常处理,try-catch-finally结构try/可能产生异常的代码catch(someException e)/处理异常的代码 finally/必须执行的代码,

6、异常处理,try-finally结构try/可能产生异常的代码finally/必须执行的代码,异常处理,注意: catch和finally必须至少有一个跟在try 后面 如果不发生异常,则catch块中的代码不会被执行 不论是否发生异常finally块中的代码一定会被执行,自定义异常,用户为什么要自定义异常?,Java类库中定义的异常主要用来处理编程中一些常见的运行错误,这些错误是系统可以预见和自动识别的。,若用户程序有其特殊的逻辑要求,需要通过Java的异常处理机制来处理用户自定义的异常。,自定义异常,如何自定义异常?,1. 创建一个类,必须继承Exception类,2. 在可能抛出自定义异

7、常方法的方法头中声明该异常,3. 在方法体中指明需要抛出自定义异常对象的位置,创建异常对象使用throw子句抛出异常,自定义异常(例),例:编写一个程序,在命令行输入一个学生的成绩,输出相应的等级。其中,成绩大于90分输出”A”,80-90输出“B”,70-80输出“C”,60-70输出“D”,60以下输出“E”,要求输入分数的值在0-100之间。自定义异常类NumberRangeException,当输入数据不在0-100之间时,输出等级的方法void show(int score)将抛出自定义异常。,自定义异常(例),自定义异常类NumberRangeException的定义:,class

8、 NumberRangeException extends ExceptionNumberRangeException(String msg)super(msg); ,继承类Exception,自定义异常(例),在可能抛出自定义异常方法的方法头中声明该异常,public static void show(int score) throws NumberRangeException if(score100)NumberRangeException e=new NumberRangeException(“输入的数字不在指定的范围!请重新输入。“);throw e;,接下页,throws与throw

9、,1.throws 用于抛出方法层次的异常,并且直接由这些方法调用异常处理类来处理该异常,所以它常用在方法的后面。比如 public static void main(String args) throws IOException 2.throw 用于方法块里面的代码,比throws的层次要低,表示它抛出异常, 但它不会处理它,而是由方法块的throws Exception来调用异常处理类来处理。,elseint s=score/10;switch(s)case 10:case 9:System.out.println(“A“);break;case 8:System.out.println(

10、“B“);break;case 7:System.out.println(“C“);break;case 6:System.out.println(“D“);break;default:System.out.println(“E“); ,自定义异常(例),接上页,public static void main(String args) int score = Integer.parseInt(args0);tryshow(score);catch(NumberRangeException e)System.out.println(e.getMessage(); ,自定义异常(例),show()方法的调用,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报