西农java实习三_异常类

信 息 工 程 学 院1

《Java语言程序设计》实验报告

学院:信息学院

班级:************

姓名:pprp

学号:*********** 成绩:

一、实习目标

(1)掌握Java的异常处理机制及相关实现方法;

(2)掌握常用实用类的使用,熟悉使用JDK_API进行软件开发; (3)掌握Java中正则表达式的基本用法。

二、实验过程

实验题1 try-catch练习:

在程序中产生三个异常:

1.ArithmeticException 类型被0除的异常; 2.NullPointerException空指针异常;

3.ArryIndexOutOfBoundsException数组下标越界异常。

并用catch 语句捕获这些异常。捕获到异常后在catch代码段中分别调用异常对象的方法对三个异常进行处理。第一个异常对象调用getMessage()方法并输出、第二个异常对象调用toString()方法并输出、第三个对象调用printStackTrace()并输出,结合jdk_api,说明这三个方法的区别。 题目理解及解释:

(1)Java_API 中关于getMessage()的说明:返回此 Throwable或Exception 的详细消息字符串。在除0的时候返回了Infinity,如果是负数除0返回-Infinity (2)Java_API 中关于toString()的说明:

对象利用 null 详细消息字符串创建,则返回此对象的实际类的名称

public String toString()返回此 throwable 的简短描述。结果是以下字符串的串联: 此对象的类的 name \(冒号和一个空格) 调用此对象 getLocalizedMessage() 方法的结果 覆盖:

类 Object 中的 toString 返回:

该 throwable 的字符串表示形式。 实验报告的内容与格式按任课教师的要求书写。

(3)Java_API 中关于printStackTrace()的说明: public void printStackTrace()

可以将错误详细的信息追踪到代码中具体某行,出错相关的行数。

将此 throwable 及其追踪输出至标准错误流。此方法将此 Throwable 对象的堆栈跟踪输出至错误输出流,作为字段 System.err 的值。输出的第一行包含此对象的 toString() 方法的结果。剩余行表示以前由方法 fillInStackTrace() 记录的数据。 getMessage() Throwable或Exception 的详细消息字符串 toString() 返回此 throwable 的简短描述 printStackTrace() 将此 throwable 及其追踪输出至标准错误流 代码截图:

运行结果截图:

实验题2 用户自定义异常:

编写一个程序,输入一个班某门课程成绩,统计平均分。当输入的成绩小0分或大于100分时,抛出异常,程序捕捉这个异常,并作出相应处理。

1.定义一个异常类ScoreException,让其继承异常类Exception;

2.写一个StasticScore类,为其添加静态方法stastic( ),通过标准输入(System.in)接收班级人数以及每一个int类型成绩。当输入的成绩小0分或大于100分时,抛出异常,异常参数message为:“输入的成绩不合法,请重新输入”;

3.输出平均成绩,保留1位小数(章节8.8内容) 4.在主类ExceptionTest的main()方法中进行测试。

代码说明及理解:

用户自定义异常类,一个方法在声明的时候可以使用throws关键字声明要产生的若干异常,并在方法体中给出长城异常的操作。必须用到相应的异常类创建对象,并使用throws关键字抛出该异常对象,使得该方法结束执行。必须自try-catch块中调用可能发生的错误,catch的作用就是捕获throw关键字抛出的异常对象。

还用到了String.format()与printf的相关格式差不多。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4