欢迎来到天天文库
浏览记录
ID:38698489
大小:360.50 KB
页数:8页
时间:2019-06-17
《实验六 异常处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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
此文档下载收益归作者所有