单元9 异常处理ppt课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《单元9 异常处理ppt课件.ppt》由会员分享,可在线阅读,更多相关《单元9 异常处理ppt课件.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在此输入您的封面副标题单元单元9 异常处理异常处理单元单元9 异常处理异常处理29.1 异常异常9.1.1 了解异常了解异常绝大多数绝大多数Java程序的运行错误是在所难免的,有时甚至根本程序的运行错误是在所难免的,有时甚至根本得不到程序员所需要的完全结果。得不到程序员所需要的完全结果。Java中的异常是指因为程序中的非语法错误(某些微小错误)中的异常是指因为程序中的非语法错误(某些微小错误)而导致提前中断程序正常执行的一种事件。而导致提前中断程序正常执行的一种事件。若程序运行时出现了异常,为了保证操作系统对程序的正常管若程序运行时出现了异常,为了保证操作系统对程序的正常管理,此时程序至少应该
2、立即终止运行,保存已经完成的一理,此时程序至少应该立即终止运行,保存已经完成的一些工作,并将出错信息告知用户,允许用户采取安全的退些工作,并将出错信息告知用户,允许用户采取安全的退出程序的措施,以避免一些风险。出程序的措施,以避免一些风险。 单元单元9 异常处理异常处理3【案例案例9-1】程序不正常输出并提前中断指令流。程序不正常输出并提前中断指令流。public class E1 public static void main(String args) String c=China,Japan,American; for(int i=0;i4;i+) System.out.println(c
3、i); /下标越界下标越界运行结果如图运行结果如图9-1所示。所示。单元单元9 异常处理异常处理49.1.2 异常发生原因及异常类异常发生原因及异常类1.异常发生的原因异常发生的原因主要的原因归纳如下:主要的原因归纳如下:(1)表达式违反了)表达式违反了Java语言的语义。语言的语义。(2)装入或链接程序时出错。)装入或链接程序时出错。(3)超出资源限制。)超出资源限制。CPU和内存资源不足等。和内存资源不足等。(4)执行)执行throws语句或语句或throw语句。语句。(5)代码段不同步。)代码段不同步。分为两种类型:编译时检查性异常(分为两种类型:编译时检查性异常(checked exc
4、eption)和运行时非)和运行时非检查性异常(检查性异常(unchecked exception)。)。单元单元9 异常处理异常处理52.异常类异常类在在Java中,所有的异常类都直接或间接地继承自中,所有的异常类都直接或间接地继承自Throwable类,都是类,都是在在java.lang包中,可以把包中,可以把Throwable类分为类分为Exception和和Error两两大类,每个大类又分若干小类,每个异常类反映了一类运行错误,类中定大类,每个大类又分若干小类,每个异常类反映了一类运行错误,类中定义了一系列的错误信息。义了一系列的错误信息。继承层次结构如图继承层次结构如图9-2所示。所
5、示。 单元单元9 异常处理异常处理6(1)Error类。类。Error类是程序中的致命性错误(简称错误)。程序运行过程中出现了严类是程序中的致命性错误(简称错误)。程序运行过程中出现了严重的运行环境或与系统本身有关的资源枯竭错误。这类问题是不需处理的,重的运行环境或与系统本身有关的资源枯竭错误。这类问题是不需处理的,因为它几乎就是无法处理的。因为它几乎就是无法处理的。(2)Exception类及其子类。类及其子类。非致命的错误,有三个子类,一般是程序员的疏忽,是程序员在编写程序非致命的错误,有三个子类,一般是程序员的疏忽,是程序员在编写程序时的忽略某些细节所导致的,因此我们在编程中主要针对时的
6、忽略某些细节所导致的,因此我们在编程中主要针对Exception类及类及其子类进行处理。其子类进行处理。单元单元9 异常处理异常处理7Runtime Exception类:除数为类:除数为0、强制类型转换错误、数组下标越界等。、强制类型转换错误、数组下标越界等。Non_Runtime Exception类:类:URL格式不正确、通过程序打开一个文件但该文格式不正确、通过程序打开一个文件但该文件并不存在、意外中断网络连接、找不到指定的类名或接口名等。件并不存在、意外中断网络连接、找不到指定的类名或接口名等。IOException类:输入输出异常常。类:输入输出异常常。由以上三个类可以派生出下面的
7、异常类:由以上三个类可以派生出下面的异常类:ArrayIndexOutOfBoundsException类:于操作数或数组下标越界异常。类:于操作数或数组下标越界异常。ArithmeticException类:表达式违反了类:表达式违反了Java语言的语义的算术运算溢出异常。语言的语义的算术运算溢出异常。FileNotFoundException:对应于找不到指定文件的异常。:对应于找不到指定文件的异常。NullPointerException:对应于对象或变量没有指向的:对应于对象或变量没有指向的null异常。异常。NumberFormatException:对应于数据格式转换或存储异常。:
8、对应于数据格式转换或存储异常。OutOfMemoryException:对应于内存超出范围异常。:对应于内存超出范围异常。NoClassDefFoundException:对应于使用未声明的类时的异常。:对应于使用未声明的类时的异常。单元单元9 异常处理异常处理8【案例案例9-2】一个未被捕获的一个未被捕获的ArithmeticException异常。异常。class E2 public static void main(String args) int a = 56 / 0; 运行结果如图运行结果如图9-3所示。所示。单元单元9 异常处理异常处理99.2 异常处理异常处理异常处理的原理:异常
9、处理的原理:利用特别的机制在程序中跟踪某些有可能发生异常的程序块,并将这些利用特别的机制在程序中跟踪某些有可能发生异常的程序块,并将这些程序块集中放置在程序中的某个地方,使完成正常操作的程序块与这些程序块集中放置在程序中的某个地方,使完成正常操作的程序块与这些可能发生异常的程序块分开,最后还要能够捕获与处理异常。可能发生异常的程序块分开,最后还要能够捕获与处理异常。单元单元9 异常处理异常处理109.2.1 trycatchfinally语句语句【案例案例9-3】方法调用产生的方法调用产生的ArithmeticException异常。异常。class E3 public static void
10、 main(String args) new E3_1().f(5,0); class E3_1 public int f(int a, int b) int x=a/b; return x; 运行结果如图运行结果如图9-4所示。所示。单元单元9 异常处理异常处理111.trycatchfinally语句格式语句格式 try /写被监视的代码段,此区域内可能产生若干类异常对象;写被监视的代码段,此区域内可能产生若干类异常对象; catch( 异常类异常类1 异常对象异常对象1) /写捕获与处理第一类异常的代码段写捕获与处理第一类异常的代码段;catch(异常类异常类2 异常对象异常对象2) /
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单元9 异常处理ppt课件 单元 异常 处理 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内