实验10 异常处理

2018-12-08 21:11

实验10 异常处理

一、 实验目的

? 掌握异常、异常类的概念;

? 熟悉Java的异常处理机制,能够使用try?catch?finally语句捕获、

处理异常;

? 熟悉异常类的自定义方法。

二、 实验步骤

1、 编译、运行code目录下的A.java程序,并回答下列问题: 1) 该程序能否编译通过?

2) 该程序能否正常结束?为什么?

A2.java是A.java的改进版本,它增加了try?catch?语句来处理异常,编译、运行该程序,并回答下列问题: 3) 改进后的程序能够正常结束? 4) try?catch?语句的基本格式怎样?

5) 对照A.java程序的运行,请问引入异常处理机制后会给程序运行带来哪些方面的改进?

2、 程序填空:

class Lab22 {

public static void main(String args[]){ try{ int x=68; int y=Integer.parseInt(args[0]); int z=x/y; System.out.println(\的值是\ }catch(___________(1)_____________ ){ System.out.println(\缺少命令行参数。\ }catch(___________(2)_____________){ System.out.println(\参数类型不正确。\ }catch(___________(3)_____________){

1

System.out.println(\算术运算错误。\ }finally{ System.out.println(\程序执行完!\ } } }

有用提示:

? ArithmeticException:除数为0时的算术异常

? NullPointerException:没有给对象分配内存空间,而又去访问对象的空指针

异常

? FileNotFoundException:找不到文件的异常

? ArrayIndexOutOfBoundsException:数组元素下标越界异常 ? NumberFormatException:数据格式不正确异常

3、 下面是一个自定义异常类调用的程序,请根据程序上下文填充所缺内容:

//自定义异常类MotorException,它继承了Exception类 class MotorException extends __________(1)____________{ public MotorException(){super();}

public MotorException(String s){super(s);} }

class Car{

private float speed= 0;

private float MAX_V = 300;

//说明调用该方法可能抛出MotorException异常

public void accelerate(float inc) __________(2)___________ { if(speed+inc > MAX_V){ //抛出MotorException异常实例,提示“发动机将被毁坏!” __________(3)___________; }else{ speed+=inc; } } }

class Test{

public static Car car;

2

}

public static void main(String args[]){ car= new Car(); __(4)___{ //可能引发异常的块 for(;;) car.accelerate(0.5f); }____(5)_____ (MotorException me){ //捕获、处理异常 System.out.println(\ } }

4、根据要求,编写程序:

从命令行中输入一个参数,调用java.lang.Math类中的sqrt()方法计

算该数的平方根,对其中可能引发的异常进行处理。

有用提示:

? 当未输入命令行参数时,引发ArrayIndexOutOfBoundsException异常 ? 当输入的命令行参数格式不正确时,引发NumberFormatException异常 ? 输入的数据小于0时,计算的平方根结果为NaN,此处不会引发异常,可

用if语句进行判断,并调用System.exit(0)退出。

3


实验10 异常处理.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:市场调研与分析离线作业(必)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: