实验10 JAVA 异常处理

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

实训报告

实验9 JA V A 异常处理

【实验目的】

1.掌握JAVA语言异常的概念。

2.掌握JAVA语言系统异常类的层次关系。

3.掌握JAVA语言系统异常类的功能和使用。

4.掌握自定义异常类的使用。

【预习内容】

1.JAVA Throwable类的子类:Error类与Exception类;

2.JAVA 异常的抛出,捕捉与处理;

3.异常类常用方法的使用;

4.JAVA异常throw 和throws语句的使用;

【实验内容及步骤】

1.上机验证题

1.阅读下面的程序,在理解的基础上,结合运行效果示例,把程序补充完整并运行程序:【示例】

编写使用try…catch 语句处理异常的程序文件LX9_1.java,源代码如下。

public class LX9_4 {

static void throwProcess() {

try {

____________ new NullPointerException("空指针异常");

}

catch (NullPointerException e) {

System.out.println("\n 在throwProcess 方法中捕获一个"+e.getMessage());

____________;

}

}

public static void main(String args[]) {

try {

throwProcess();

}

catch (NullPointerException e) {

System.out.println("再次捕获:"+e);

}

}

}

[程序清单]

public class LX9_1 {

static void throwProcess() {

try {

throw new NullPointerException("空指针异常");

}

catch (NullPointerException e) {

System.out.println("\n 在 throwProcess 方法中捕获一个"+e.getMessage()); throw e;

}

}

public static void main(String args[]) {

try {

throwProcess();

}

catch (NullPointerException e) {

System.out.println("再次捕获:"+e);

}

}

}

[程序运行过程]

2. 运行以下程序,并理解程序运行的结果?[程序清单]

import java.io.*;

public class ExceptionTest{

public static void main(String args[]) {

for(int i = 0; i < 4;i++) {

int k;

try {

switch( i ) {

case 0: //divided by zero

int zero = 0;

k = 911 / zero;

break;

case 1: //null pointer

int b[ ] = null;

k = b[0];

break;

case 2: //array index out of bound

int c[ ] = new int[2];

k = c[9];

break;

case 3: //string index out of bound

char ch = "abc".charAt(99);

break;

}

}catch(Exception e) {

System.out.println("\nTestcase #" + i + "\n");

System.out.println(e);

}

}

}

}

[程序运行结果(截图)]

3. 运行以下程序,并理解程序运行的结果。

import java.io.*;

public class TryTest{

public TryTest(){

try{

int a[] = new int[2];

a[4] = 3;

System.out.println("After handling exception return here?"); }catch(IndexOutOfBoundsException e){

System.err.println("exception msg:" + e.getMessage()); System.err.println("exception string:" + e.toString());

e.printStackTrace();

}finally{

System.out.println("-------------------");

System.out.println("finally");

}

System.out.println("No exception?");

}

public static void main(String args[]){

new TryTest();

}

}

2.编程拓展题

1.(1)理解并运行以下程序(截图)。见FLASH正文图4-37

class Arithmeticexception

{ public static void main(String[] args) throws ArithmeticException,ArithmeticException

{ int a;

a = 5 / 0; //将引发除零异常

int b[]=new int[2];

b[2]=5; //可能引发数组越界异常

}

}

(2)参考以上程序,编写一个自定义异常类,并编写基于该异常类的测试类。[程序清单]

class MyFirstException extends Exception

相关文档
最新文档