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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

java入门第6章.ppt

1、河南大学软件学院,Java 编程基础,主讲:李丽,第6章 异常处理机制,(1)异常概述 (2)异常的分类 (3)捕获异常 (4)声明异常 (5)定义自己的异常类,Java异常是Java提供的用于处理程序中错误的一种机制。所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在)。设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果。,6.1异常概述,见TestException1.java,在Java中,一个方法的运行过程中如果发生了异常,则这个方法(或者是Java虚拟机)生成一个代表该异常的对象(

2、包含了该异常的详细信息),并把它交给运行时系统。我们把生成异常对象并把它提交给运行时系统的过程称为抛出(throw)一个异常。当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获异常。,6.1异常概述,异常的抛出捕捉过程:,6.1异常概述,IOException,6.2异常的分类,在API文档中凡是在方法后面写了throws必须显示捕捉,Error:称为错误,由Java虚拟机生成并抛出,一般是和虚拟机相关的问题,如动态链接失败、系统崩溃、虚拟机出现错误等。这种错误无法恢复或不可捕捉,将导致应用程序中断。Exception:所有异常类的父类

3、,其子类对应各种可能出现的异常事件,一般需要用户显示的声明或捕获。RuntimeException:一类特殊的异常,如被0除、数组下标越界等,其产生比较频繁,处理麻烦,如果显示的声明或捕获将会对程序可读性和运行效率影响很大。因此由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对其处理)。,6.2异常的分类,见TestException2.java,6.3捕获异常,Java的异常处理是通过3个关键词来实现的:try-catch-finally。用try来监视执行一段程序,如果出现异常,系统就会抛出(throws)异常,可以根据异常的类型来捕捉(catch)相应的异常并处理它,或最后(fi

4、nally)由缺省处理方法来处理。,6.3捕获异常,6.3.1 try语句,使用try语句时需要注意以下两点: 不要把所有的业务逻辑代码全部放在try语句中,因为使用try语句时其效率要远远低于正常的代码执行效率,放置在try语句中的代码往往是一些核心的容易出现异常的代码;在try语句中声明变量时,该变量的作用域为此try语句内部,如果试图在程序的其它任何地方访问该变量都是错误,因此 变量声明的位置至关紧要。,6.3.2 catch语句,一个try块后面只有一个catch块会被执行,绝不可能有多个catch块被执行。 形式: catch(异常类型 对象) 运行时系统通过参数值把被抛弃的异常对象

5、传递给catch语句。 程序设计中要根据具体的情况来选择catch语句的异常处理类型,一般应该按照try代码段中异常可能产生的顺序及其真正类型进行捕获和处理,尽量避免选择最一般的异常类型作为catch语句中指定要捕获的类型。,TestException3.java,6.3.3 finally语句,finally语句为异常处理提供一个统一的出口,无论try所指定的程序块中是否抛出异常,finally所指定的代码都要被执行,它提供了统一的出口。通常在finally语句中可以进行资源的清除和释放工作,如关闭打开的文件、删除临时文件、关闭打开的数据库连接等。finally非必须,在异常捕获中,try块

6、必须有,catch和finally可选,但是至少有其中一个。,捕捉SomeException2时:,没有捕获到异常时:,6.3.3 finally语句,除非在try块、catch块中调用了System.exit(1)来退出虚拟机,否则finally总会被执行。,6.4声明异常,如果在一个方法中生成了异常,但是该方法并不处理它产生的异常,而是沿着调用层次向上传递,交由调用它的程序来处理这些异常,这就是声明异常。,声明异常的方法是在产生异常的方法名后面加上要抛出(throws)的异常的列表,其语法格式为: 修饰符返回值数据类型 方法名(形参列表) throws异常1,异常2, 方法体; retur

7、n返回表达式; ,6.4声明异常,TestException41.java,注意:,方法中含有异常: 如果你能对此异常进行处理,则用try catch 捕捉异常 如果你不能对此异常进行处理,则继续往外抛。 要非常注意,如果你捕捉住异常之后一定要做处理(哪怕打印),不要捕捉之后什么都不做,这样的话你就把异常给掩盖了。,手动抛异常,使用throw语句可以主动地抛出一个异常对象。 throw语句的语法格式如下:throw Exception Instance;,TestException42.java,自定义异常类必须继承Exception基类,其语法格式为: 修饰符 class 自定义异常类名 e

8、xtends Exception 自定义异常同样要用try-catch-finally捕获, 而且也必须由用户自己主动地抛出(throw),6.6 自定义异常类,使用自定义异常一般有如下步骤: 1、通过继承Exception类来声明自己的异常类。 2、在方法适当的位置生成自定义异常的实例,并用throw语句抛出。 3、在方法的声明部分用throw语句声明该方法可能抛出的异常。,6.6 自定义异常类,6.6 自定义异常类,注意:,当有多个catch块时,应该先捕捉小的异常,再捕捉大异常。也就是当多个catch块中存在的异常类有继承关系时,子类应该先被捕捉。,访问异常信息,e.getMessage():返回该异常的详细描述字符串。 e.printStackTrace():将该异常类的跟踪栈信息输出到标准错误输出。,- java - java.lang.IndexOutOfBoundsException: 越界了at ThrowException.m1(TestException42.java:22)at ThrowException.m2(TestException42.java:27)at TestException42.main(TestException42.java:7)输出完成 (耗时 0 秒) - 正常终止,

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


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

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

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