


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
异常处理1、程序错误一般有三种:语法错误,运行错误和逻辑错误。对于语法错误可以有编译器来检查得到错误的位置和原因,从而可以纠正。对于运行错误则用异常处理来解决。ThrowableExceptionErrorClassNotFoundExceptionCloneNotSupportedExceptionIOExceptionAWTExcepionRuntimeExceptionArithmeticExceptionNullPointerExceptionIndexOutOfBoundsExceptionLinkageErrorVirtualMachineErrorAWTError2、异常类所有异常类型都是内置类Throwable的子类。因此,Throwable在异常类层次结构的顶层。紧接着Throwable下面的是两个把异常分成两个不同分支的子类。一个分支是Exception。该类用于用户程序可能捕捉的异常情况。它也是你可以用来创建你自己用户异常类型子类的类。在Exception分支中有一个重要子类RuntimeException。该类型的异常自动为你所编写的程序定义并且包括被零除和非法数组索引这样的错误另一个分支是系统错误:由java虚拟机抛出并在Error类中描述,Error类描述了内部的系统错误,一般很少发生该类错误,一旦发生除了通知用户结束程序外,几乎什么也不能做异常例子:l ClassNotFoundException:企图使用一个不存在的类,当程序调用一个类时找不到该类就会发生该异常(通常是因为写错类名字引起的)l IOException:与输入输出相关的操作,比如打开一个不存在的文件,无效的输入等l 运行异常:由RuntimeException描述。包括编程错误,比如数组越界等n ArithmeticException:一个整数除以零n NullPointerException:企图通过一个空变量访问一个对象n IndexOutOfBoundsException:数组下标越界3、必检异常和免检异常RuntimeException和Error以及他们的子类都是免检异常,其他所有的异常为必检异常。对于必检异常编译器会强制程序员检查并处理,免检异常指的是编译器不会去检查你是不是处理该异常了。4、异常的处理方式(1)抛出。方法通过在它的声明中使用throws语句指定它可以抛出的异常。同时使用throw语句抛出异常。当不在方法中直接捕获被检查的异常时,必须指定它可以抛出的所有被检查的异常。抛出异常所做的两部分工作是:在它的声明中使用throws语句指定它可以抛出的异常,同时使用throw语句抛出异常。在方法中声明可能出现的异常,这样做的目的是让方法可以告诉编译器它可能会产生哪些异常,从而要求它的使用者必须考虑对这些异常的处理,这样就使异常及时得到处理,减少了程序崩溃的几率。(2)捕获。使用try-catch-finally代码块来完成整个对异常的捕获。在try程序块中放的是最有可能产生异常的语句,而catch块里面放的是处理异常的语句。当有异常产生时,Java虚拟机会停止执行try块内的语句,而转去执行catch块中的语句;若没有异常发生,则正常执行try块而不执行catch块。不论有无异常产生,finally中的语句都会被运行。5finally块异常处理器的最后一步是在允许将控制传递给程序的另一部分之前进行清理。实现机制是将被清理的代码封闭在一个finally块内。finally块是可选的,它提供一种机制,无论try块中是否发生异常都确保进行清理工作。在以下4种特殊情况下,finally块不会被执行。(1)在finally块中发生了异常。(2)程序所在的线程死亡。(3)在前面的代码中用System.exit()退出运行。(4)关闭CPU。6几个获取异常信息的函数通过异常处理的常用方法,可以获取异常的有关信息。异常常用的3个函数如下。(1)printStackT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论