《Java程序设计》上机实验报告 实验四 异常类的定义及处理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息科学与工程学院《Java程序设计》上机实验报告

专业班级姓名学号

实验时间指导教师成绩

实验名称实验四异常类的定义及处理

实验目的1)了解异常处理方法。

2)熟悉并掌握常见异常的捕获方法。

3)熟悉JDK中已经定义的若干异常类的层次结构。

4)掌握自定义异常类的创建方法。

主要实验记录及个人小结

(包括部分实验源程序、调试结果及实验结果分析等)1.编写程序实现如下功能:生成并捕获到NegativeArraySizeException和IndexOutOfBoundsException类型的异常,并显示捕获到的异常信息。然后在此基础上生成并捕获到NullPointerException类型的异常,并显示捕获到的异常信息。

1)实验源程序:

public class TestException {

public static void main(String[] args){

outofBound();

arraySize();

nullPointer();

}

static void arraySize(){

try{int p=-5;

int test1[]=new int[p]; //不一定要是-5,只要小于0的就能捕获到无效数组长度的异常}

}

catch (NegativeArraySizeException e) {

System.out.println("捕获异常:\n"+e);

System.out.println(e.toString()); //把捕获的错误异常转变为字符串类型,传给println()方法,用以输入。

}finally{

System.out.println("捕获完成\n"); } }

static void outofBound(){

try {int test2[]=new int[10];

test2[100]=1; //超出数组长度

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("捕获异常:\n"+e);

System.out.println(e.toString());

}

finally{

System.out.println("捕获完成\n\n");

}

}

static void nullPointer(){

try {int test3[]=null;

test3[1]=100; //空指针无法赋值

} catch (NullPointerException e) {

主要实验记录及个人小结

(包括部分实验源程序、调试结果及实验结果分析等) System.out.println("捕获异常:\n"+e);

System.out.println(e.toString());

}

finally{

System.out.println("捕获完成 \n\n")}

}

}

2)调试结果:

将outofBound()方法中捕获异常的语句注释掉,重新编译程序,看看会不会有什么语法错误?如果没错误,执行程序看结果有什么不同?

static void outofBound(){

try { int test2[]=new int[10];

test2[100]=1; //超出数组长度

} //catch (ArrayIndexOutOfBoundsException e) {

// System.out.println("捕获异常:\n"+e);

// System.out.println(e.toString());

// }

主要实验记录及个人小结

(包括部分实验源程序、调试结果及实验结果分析等)将array方法重新定义为如下形式:

void arraySize() throws NegativeArraySizeException{……}

然后修改arraySize方法中捕获NegativeArraySizeException异常的语句执行部

分。

public class TestException {

public static void main(String[] args){

try{

outofBound();

arraySize();

nullPointer();

}

catch(NegativeArraySizeException e)

{System.out.println(e.toString());}

}

......

(中间代码不变)

static void nullPointer(){

try {

int test3[]=null;

test3[1]=100; //空指针无法赋值

} catch (NullPointerException e) {

System.out.println("捕获异常:\n"+e);

System.out.println(e.toString());

}

finally{

System.out.println("捕获完成 \n\n");

}

}

}

相关文档
最新文档