JAVA的异常处理机制

JAVA的异常处理机制

ID:45055164

大小:316.00 KB

页数:19页

时间:2019-11-08

JAVA的异常处理机制_第1页
JAVA的异常处理机制_第2页
JAVA的异常处理机制_第3页
JAVA的异常处理机制_第4页
JAVA的异常处理机制_第5页
资源描述:

《JAVA的异常处理机制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章Java的异常处理机制主要解决的问题:1、什么是错误与异常?2、造成Java异常的有哪些原因?3、什么是抛出?什么是捕获?4、Java有哪些异常对象呢?5、在程序中使用什么语句结构来处理异常呢?6、能否自己创建异常对象呢?本章主要内容1.Java异常的概念2.Java异常的处理方法3.总结提高6.1Java异常的概念Java的异常处理机制是用来处理程序运行时的错误的有效机制,以往需要由程序员完成的程序出错情况的判别,在Java中改为由系统承担。通过系统抛出的异常,程序可以很容易地捕获并处理发生的异常情况。6.1.1错误与异常根据错误的性质将运行错误分为两种类型:1.错误2.异常6.1.

2、2Java异常异常发生的原因有以下三种:1.Java虚拟机检测到了非正常的执行状态2.Java程序代码中的throw语句被执行。3.异步异常发生。6.2Java异常的处理方法1.try…catch…finally语句2.使用throw语句抛出异常对象3.使用throws子句抛出方法中的异常4.finally语句的作用5.创建自己的异常类6.3总结提高6.3.1Java的异常处理机制1.抛出异常Java是这样规定的:当语义限制被违反时,将会抛出(throw)异常,即产生一个异常事件,生成一个异常对象,并把它提交给运行系统,再由运行系统寻找相应的代码来处理异常。2.捕获异常异常抛出后,运行时系统

3、从生成异常对象的代码开始,沿方法的调用栈进行查找,直到找到包含相应处理的方法代码,并把异常对象交给该方法,称为捕获(catch)异常。6.3.2Java提供的异常类Java中的异常类具有层次结构组织。如图所示。6.3.3Exception异常类的子类(1)RuntimeException运行时异常类(2)NoSuchMethodException方法未找到异常(3)java.awt.AWTException图形界面异常类(4)java.io.TOException输入输出异常类(5)Exception异常类的其它子类(1)RuntimeException类主要包括以下异常子类:·Arithm

4、eticException算术异常类;·ArrayStoreException数组下标越界异常类;·ClassCastException类型强制转换异常类;·IndexOutOfBoundsException下标越界异常类;·NullPointerException空指针异常类;·SecurityException违背安全原则异常类。(2)java.io.TOException类的子类有:·IOException:申请I/O操作没有正常完成。·EOFException:在输入操作正常结束前遇到了文件结束符。·FileNotFoundException:在文件系统中,没有找到由文件名字符串指定

5、的文件。(3)Exception异常类的其它子类:·EmptyStackException;·NoSuchFieldException;·NoSuchMethodException;·ClassNotFoundException;·CloneNotSupportedException;·IllegalAccessException;·InstantiationException;·InterruptedException。6.3.4Error错误类的子类(1)VirtualMachineError虚拟机错误OutOfMemoryError内存溢出错误StackOverflowError栈溢出

6、错误(2)LinkageError链接错误(3)NoClassDefNotFoundError类定义未找到错误(4)java.awt.AWTError图形界面错误6.3.5编译时对异常情况的检查1.可检测类和不可检测类不可检测的异常类是RuntimeException及其子类、Error及其子类,其他的异常类则是可检测的类。标准JavaAPI定义了许多异常类,既包括可检测的,也包括不可检测的。由程序定义的异常类也可以包含可检测类和不可检测类。2.可检测异常的处理在编译时,编译器分析哪些方法会产生可检测的异常,然后检查方法中的可检测异常的处理部分。例如,类Thread的方法sleep定义如下:

7、publicstaticvoidsleep(longmillis)throwsInterruptedException{…}3.不可检测的异常(运行时异常类)编译器对不可检测的异常类不进行检查。因为Java的设计者认为检测这些异常对Java程序的正确性方面帮助不大,而且这种情况发生的原因很多。对每一种情况都进行处理会很麻烦,所以这些异常在编译时不检查。因为这种错误可能发生在程序中的许多地方,恢复起来很困难或者

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

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

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