JAVA调试环境及异常处理程序.docx

上传人:b****1 文档编号:23288902 上传时间:2023-05-16 格式:DOCX 页数:13 大小:40.10KB
下载 相关 举报
JAVA调试环境及异常处理程序.docx_第1页
第1页 / 共13页
JAVA调试环境及异常处理程序.docx_第2页
第2页 / 共13页
JAVA调试环境及异常处理程序.docx_第3页
第3页 / 共13页
JAVA调试环境及异常处理程序.docx_第4页
第4页 / 共13页
JAVA调试环境及异常处理程序.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

JAVA调试环境及异常处理程序.docx

《JAVA调试环境及异常处理程序.docx》由会员分享,可在线阅读,更多相关《JAVA调试环境及异常处理程序.docx(13页珍藏版)》请在冰豆网上搜索。

JAVA调试环境及异常处理程序.docx

JAVA调试环境及异常处理程序

数学与计算科学学院

实验报告

实验项目名称Java调试环境及异常处理程序

所属课程名称面向对象技术

实验类型设计型

实验日期2014.4.1

班级信计12-2

学号20125310022X

姓名

成绩

 

一、实验概述:

【实验目的】

1、掌握Java开发运行环境的安装、配置。

2、了解并掌握Java异常的概念以及工作机制。

3、熟悉并掌握Java异常与异常类。

4、熟悉JDK已经定义的若干异常类的层次结构。

5、掌握自定义异常类的创建方法。

6、掌握抛出捕获处理异常语句的使用(try…catch…finally).

7、掌握上抛异常语句的使用(throws).

8、掌握Java Applet程序的编写与实践操作。

 

9、了解Java中异常处理(exception)的作用,掌握异常处理的设计方法。

【实验原理】

1、Java通过API中Throwable类的众多子类描述各种不同的异常。

2、Throwable有两个重要的子类:

Exception(异常)和Error(错误),二者都是Java异常处理的重要子类,各自都包含大量子类。

3、在Java应用程序中,异常处理机制为:

抛出异常,捕捉异常。

4、对于多异常的处理时通过在try块后面定义若干个catch块来实现的,每个catch块用来接收和处理一种特定的异常对象。

5、在Java应用程序中,异常对象是依靠以catch语句为标志的异常处理语句块来捕捉和处理的。

异常处理语句块又称为catch语句块如:

catch(异常类型异常形式参数表)

{

异常处理语句组;

}

6、异常的处理主要包括捕捉异常、程序流程的跳转和异常处理语句块的定义。

7、Java的异常类是处理运行时错误的特殊类,每一种异常类对应一种特定的运行错误。

Java的异常类只能在三处地方出现:

⑴extends之后;⑵catch()的形参列表;⑶throws的后面。

【实验环境】

Windows7

MicrosoftVisualJ++6.0

JDK6.0 

WPS2013

二、实验内容:

【实验方案】

1、安装Window版本的JDK,并设置安装路径信息;

2、利用MicrosoftVisualJ++6.0编写程序并测试Java程序;

3、利用MicrosoftVisualJ++6.0编写程序并测试JavaApplet程序;

4、利用MicrosoftVisualJ++6.0编译程序,自定义异常类,处理用户程序中特定的逻辑运行错误。

用try块定义可能出现的异常,用catch语句捕捉和处理try块中的异常语句。

如下:

try

{ 可能抛出异常语句;}

catch

{异常处理语句组;}

 

【实验过程】(实验步骤、记录、数据、分析)

1、新建并命名一个文件夹AAAA;

2、创建源程序文件BBBB.java

具体操作:

打开MicrosoftVisualJ++6.0编译器,创建j++工程并命名BBBB,并将其保存路径改为桌面上新建好的文件夹,当进入编辑窗口时,先进行保存操作,存于已创建的文件夹,该文件名必须与主类名相同,即BBBB.java,然后才编写JavaApplet程序,程序如下:

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassAAAAextendsAppletimplementsActionListener

{

Labelpr1,pr2;

TextFieldt1,t2;

Buttonb;

Students;

Stringmsg;

publicvoidinit()

{

pr1=newLabel("姓名:

");

pr2=newLabel("学号:

");

t1=newTextField(7);

t2=newTextField(7);

b=newButton("确定");

b.addActionListener(this);

add(pr1);add(t1);

add(pr2);add(t2);

add(b);

s=newStudent();

msg="欢迎来到数计学院";

}

publicvoidactionPerformed(ActionEvente)

{

s.setId(Integer.parseInt(t2.getText()));

msg=s.toString();

repaint();

}

publicvoidpaint(Graphicsg)

{

g.drawString(msg,730,100);

}

}

classStudent

{

Stringname;

intid;

intage;

voidsetId(intx)

{

id=x;

}

publicStringtoString()

{

return"姓名:

"+name+"学号:

"+id;

}

}

3、调试JavaApplet程序,显示的结果如下:

4、发现以上的程序没有出现错误,接着在相应的输入框里输入“杜帅”和“53100226”,显示的结果如下:

4、以上程序并不算完整,当学号输入为零或负数时,会照原样输出,学号输入字符时,程序没反应,然而,我们都知道学号都为正整数,所以程序还不适合用户的使用,为此,我们要使用java提供的异常类,使程序更完善。

Java的异常类是处理运行时错误的特殊类,每一种异常类对应一种特定的运行错误。

Java的异常类只能在三处地方出现:

⑴extends之后;⑵catch()的形参列表;⑶throws的后面。

5、运行程序发现在学号输入框中输入字符时,程序无反应,说明执行时出现NumberFormatException异常。

修改程序为

publicvoidactionPerformed(ActionEvente)

{

try

{

s.setId(Integer.parseInt(t2.getText()));

msg=s.toString();

}

catch(NumberFormatExceptionee)

{

msg="学号必须是整数类型!

!

!

";

}

}

6、对修改后的程序进行调试,在相应的输入框里输入“杜帅”和“3100226abc”,显示的结果如下:

7、try块启动Java的异常处理机制,catch接收try块中可能产生的异常。

运行程序发现在学号输入框中输入“-53100226”时,程序原样输出如下:

8、自定义异常类抛出异常:

classNegativeExceptionextendsException

{

}

学号输入输出改变为:

voidsetId(intx)throwsNegativeException

{

if(x>0)

id=x;

else

thrownewNegativeException();

}

再添加个catch语句,整体修改为:

publicvoidactionPerformed(ActionEvente)

{

try

{

s.setId(Integer.parseInt(t2.getText()));

msg=s.toString();

}

catch(NumberFormatExceptionee)

{

msg="学号必须是整数类型!

!

!

";

}

catch(NegativeExceptionee)

{

msg="学号必须是正整数类型!

!

!

";

}

}

9、对修改后的程序再次进行修改,在输入框学号里输入“-123456”,显示结果如下:

由以上结果说明对修改后的程序进行调试,程序更加完善,可以解决问题。

 

【实验结论】(结果)

 

【实验小结】(收获体会)

1、通过本次操作实验,我学会了JDK安装技巧,熟练掌握了测试环境变量的设置是否成功,并运行了Java程序。

2、让我了解了Java的语言特点,掌握了程序的编译和测试。

3、理解了异常时如何捕获以及抛出的,但对整体的异常处理理解并不透彻。

4、理解并掌握了异常类的作用。

5、学会了对异常的捕获和处理方式。

6、理解了系统异常处理的机制。

7、在实验中我们要细心认真、反复的揣摩的钻研课本知识。

8、通过实践操作,不仅找到了自己在这方面的缺陷,深感知识面匮乏,需要更加努力的学习,同时也提高了我的动手操作能力。

 

三、指导教师评语及成绩:

评语

评语等级

及格

不及格

1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强

2.实验方案设计合理

3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)

4实验结论正确.

成绩:

 

指导教师签名:

批阅日期:

附录:

源程序

程序一:

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassaaaextendsAppletimplementsActionListener

{

Labelpr1,pr2;

TextFieldt1,t2;

Buttonb;

Students;

Stringmsg;

publicvoidinit()

{

pr1=newLabel("姓名:

");

pr2=newLabel("学号:

");

t1=newTextField(7);

t2=newTextField(7);

b=newButton("确定");

b.addActionListener(this);

add(pr1);add(t1);

add(pr2);add(t2);

add(b);

s=newStudent();

msg="";

}

publicvoidactionPerformed(ActionEvente)

{

try

{

s.setId(Integer.parseInt(t2.getText()));

msg=s.toString();

}

catch(NumberFormatExceptionee)

{

msg="学号必须是整数类型!

!

!

";

}

catch(NegativeExceptionee)

{

msg="学号必须是正整数类型!

!

!

";

}

s.name=t1.getText();

repaint();

}

publicvoidpaint(Graphicsg)

{

g.drawString(msg,120,120);

}

}

classStudent

{

Stringname;

intid;

intage;

voidsetId(intx)throwsNegativeException

{

if(x>0)

id=x;

else

thrownewNegativeException();

}

publicStringtoString()

{

return"姓名:

"+name+"学号:

"+id;

}

}

classNegativeExceptionextendsException

{

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1