实验六 异常处理

实验六 异常处理

ID:38698489

大小:360.50 KB

页数:8页

时间:2019-06-17

实验六 异常处理_第1页
实验六 异常处理_第2页
实验六 异常处理_第3页
实验六 异常处理_第4页
实验六 异常处理_第5页
资源描述:

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

1、实验六异常处理云南大学信息学院面向对象技术导论java程序设计大学教程实验【开发语言及实现平台或实验环境】Windows2000或XP,JDK1.6与Jcreator4.0【实验目的】1.掌握Java中异常的概念及含义。2.掌握异常的定义、抛出方法以及如何捕捉处理异常。3.熟悉如何将异常处理灵活运用到实际编程中。【实验要求】1.运行上课讲解的例子;2.完成下列实验内容。【实验内容】一、读懂并运行下列程序,体会Java中异常处理机制。1.分析并运行下面的程序。参考源代码如下:importjava.io.*;publicclassExcep

2、tionTest{publicstaticvoidmain(Stringargs[]){for(inti=0;i<4;i++){intk;try{switch(i){case0://除数为0intzero=0;k=911/zero;break;case1://空指针inta[]=null;k=a[0];break;case2://数组下标越界intb[]=newint[4];k=b[6];break;case3://字符串下标越界charch="China”.charAt(5);break;}}catch(Exceptione){Sys

3、tem.out.println("TestCase#"+i+"");System.out.println(e);}}}}问题:(1)程序中设计循环有何目的?(2)程序中将产生哪些异常?(3)程序中的异常是如何抛出、捕捉及处理的?答:(1)获得全部的异常。(2)除数为0,空指针,数组下标越界,字符串下标越界(3)抛出:当语义限制被违反时,将会抛出(throw)异常,即产生一个异常事件,生成一个异常对象,并把它提交给运行系统,再由运行系统寻找相应的代码来处理异常。捕捉:异常抛出后,运行时系统从生成异常对象的代码开始,沿方法的调用栈进

4、行查找,直到找到包含相应处理的方法代码,并把异常对象交给该方法为止,这个过程称为捕获(catch)异常。处理:书写特殊的异常处理代码进行处理。实验结果:2.分析并运行下面的程序。程序源代码如下:publicclassExceptionTest{publicstaticvoidmain(Stringargs[]){System.out.println("捕获不同类型的异常");try{inta=10/0;}catch(ClassCastExceptione){System.out.println("发生异常"+e);}finally{Sy

5、stem.out.println("执行finally语句");}}}问题:⑴程序产生何异常?⑵对于类型不匹配的异常,程序中采用什么方法处理的?答:(1)不能正常的捕捉异常(出现类型不匹配的异常)。(2)对于类型不匹配的异常,程序中采用书写特殊的异常处理代码进行处理(把ClassCastException修改成ArithmeticException)。修改后的实验结果:3.分析并运行下面的程序。程序源代码如下:publicclassexcept2{publicstaticvoidmain(Stringargs[]){try{method

6、();}catch(Exceptione){}}staticvoidmethod(){try{createException();System.out.println("try语句被执行");}catch(ArithmeticExceptione){System.out.println("catch语句被执行");}finally{System.out.println("finally语句被执行");}System.out.print("d");}staticvoidcreateException(){thrownewArrayInde

7、xOutOfBoundsException();}}问题:(1)程序有何功能?给出程序的运行结果。(2)finally语句的作用及其使用方法是什么?答:(1)利用try-catch-finally语句捕捉异常,利用try-catch-finally形成了一个异常处理保护块。运行结果:finally语句被执行(2)finally语句块中放置受保护的代码;无论是否出现异常,这些代码都会执行。其使用方法:在catch语句后加finally{受保护的代码;}把ArithmeticException改成Exception后的运行结果:4.自定义异

8、常类:输入字母,是小写字母则直接输出,是大写字母则转为小写字母输出;若输入的不是字母,则抛出异常“输入的不是字母!”。程序源代码如下:classMyExceptionextendsException{pri

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

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

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