第二章 异常与异常处理.ppt

第二章 异常与异常处理.ppt

ID:48796094

大小:142.50 KB

页数:19页

时间:2020-01-25

第二章 异常与异常处理.ppt_第1页
第二章 异常与异常处理.ppt_第2页
第二章 异常与异常处理.ppt_第3页
第二章 异常与异常处理.ppt_第4页
第二章 异常与异常处理.ppt_第5页
资源描述:

《第二章 异常与异常处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二章异常与异常处理异常(Exception)异常是指在程序中,发生错误影响程序正常运行的语句或结构。Java编译器能在很大程度上帮我们发现程序中会出现的错误。但是并不是所有错误都能在编译期间被发现。有些错误和问题必须在程序运行的过程中才能被发现,本章主要针对这些异常进行说明。获得异常的方式在Java程序运行的过程中,有两种获得异常的方式。一是程序执行过程中发生了Java语言已经定义的异常(所有这些异常大多定义在java.lang包中,并都作为Exception类的子类存在),这些标准异常将被程序自动抛出(throw)。二是在程序中定义自

2、己需要的异常情况,在程序执行过程中检测错误是否发生,如发生错误则由发生该错误的方法抛出(throw)自己定义的异常。定义自己的异常类在Java中,所有执行过程中发生的异常都作为Exception的子类存在。自定义异常可以继承Exception类的所有属性和方法,也可以添加自己定义的属性和方法。同时自定义异常也可以通过定义同名方法来覆盖父类的方法。类的toString方法在Java中,我们经常遇到需要将不可见的类或对象转换成直观可见的字符串的情况。如将一个对象实例使用System.out.println方法打印在屏幕上。Java中可以在类中

3、定义一个方法toString来实现对象到字符串的转换工作。当需要字符串的地方使用了对象实例时,Java编译程序将会自动调用toString方法,将对象实例转换为字符串。toString方法的定义格式可以描述为publicStringtoString(){//函数体}抛出异常在程序中,如需抛出异常可使用关键字throw。语法是:throw异常对象实例;一般地,Java语言定义好的标准异常会被程序自己抛出,无须再使用throw语句抛出标准异常。抛出异常的方法定义如果一个方法运行过程中产生了异常,且方法自身没有处理该异常,则在该方法的声明中需要

4、使用throws关键字说明该方法的所有未被处理的异常。语法:[访问][类型][返回值]方法名([参数列表])throws未被处理的异常列表未处理的异常Java中所有未被编程人处理的异常将会按照默认方式进行处理。即打印出该异常发生的确切位置,并退出程序的运行。在Exception的父类Throwable中定义了方法printStackTrace,该方法可以打印出异常发生时程序堆栈的情况(通俗的说就是异常发生的位置)。异常处理当某个被调用的方法抛出异常后,我们通常不希望采用默认的方式处理,特别是大多数情况中,我们希望程序能继续运行,这样我们才

5、能提供更加健壮的程序。例如在发送消息失败时,我们并不希望退出我们的即时通讯软件(IM)。因此我们需要自己处理程序中可能发生的异常,异常处理的过程可以归纳为:监控——捕获——响应三个主要步骤。监控异常为了让Java能够知道我们需要自己处理发生的异常,我们必须将可能发生异常的语句监控起来。监控的语法:try{//可能发生异常的语句块}捕获异常在执行try语句块的过程中,如果发生了异常,我们必须捕获这个异常。捕获异常的语法:catch(异常类名异常对象实例)由于try结构块中的语句在执行过程中可能发生多种不同的异常,因此我们可以使用多个catc

6、h以捕获多个异常。一个catch只能捕获一个异常。响应异常当异常发生并且被捕获后,我们需要对该异常进行的处理写在catch后的结构块中,我们称为异常的响应语句。try…catch…总语法:try{//可能发生异常的语句块}catch(异常类名异常对象实例){//异常处理的语句}[catch….]无论如何都执行的部分(finally)有些情况中我们希望一些语句无论是否发生异常都得到执行,那么我们可以将这些语句放入到catch之后的finally结构块中。语法:try{}catch(){}finally{//无论是否发生异常都需要执行的语句}

7、try…catch…执行过程try…catch…的执行流程:首先Java会试图运行try中的所有语句,如果没有发生任何异常,那么catch的部分将不会得到执行;如果发生了一个异常,则try中发生异常之后的部分将会被忽略(跳过),转而执行catch的部分。在catch中,Java会尝试将发生的异常匹配到一个合适的catch中,然后执行该catch语句结构块中的语句,最后执行finally结构块中的语句。练习一定义两个异常类:IDNumberException和PasswordException这2个类分别有1个字符串成员变量descript

8、ion,指明异常的描述。实现两个异常类的构造方法,构造方法接受一个字符串参数description,并将成员变量初始化为参数的值。分别为两个异常类实现toString方法,toString方法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。