软件构造实验四有感
这个实验考察的是Java的异常处理机制
首先分析异常,得到如下几个异常。
1、对于原子系统的异常处理如下:
(1) 原子名称不合法:原子名称要求第一个字母大写
(2) 依赖性错误:定义的轨道的数量和文件实际原子轨道的数量不一样
(3) 轨道中的电子数量和真实的电子数量不一样:
2、对运动员轨道的异常处理操作:
(1) 存在相同的重复的名字:
(2) 国籍不合法,不是三个字母大写或者其他的异常输入:
(3) 输入的成绩不合法,所输入的成绩不是两位小数或者其他:
(4) 输入的跑道的长度不合法,不是100,200,400
(5) 输入的轨道的数量不合法,要求输入的轨道的数量要在4到10之间,如果数量不合法就输出异 常:
3、对社交网络系统的异常处理操作:
(1) 中心人物的性别错误,输入的性别不是F或者M:
(2) friend的性别错误,输入的性别不是F或者M:
(3) 输入的friend的名字重复:
(4) 存在一个从自己到自己的关系:
(5) 关系发生重复:
其实这个实验最让我为难的是日志的处理。
对于java的日志的处理,由于java本身就自带了logger。处理如下所示。
首先创建一个Logger对象,然后根据输入的严重性进行分类。普通的操作设置为INFO,异常错误为SEVER。
对于遇到不同的异常类型要赋予不同的操作。
当输入的文件给定之后,控制台输出如下所示:
然后对这些操作输出到文件中去使用Filehandler操作,得到xml格式的文件,如下所示:
接下来就是对日志的处理了。由于日志是xml格式的文件,而java自带的解析xml格式文件建立xml的格式的树状结构比较困难于是我创建了一个类,作为一个日志的存储。
我新建了一个叫做Mylog的类,作为存储日志的类。类中的属性有message,date,level,classstring,time,method。这些和XML格式差不多。
考虑到需要比较日期的早和晚,所以我使用方法来讲日志里面的date转换为long类型的数字,从而进行大小的比较。
在实验四中,我感觉Java对于日志的处理确实有一手。他能够自动生成Java日志。然后他也有自己的程序对所生成的日志进行处理。由于我对Java还不太熟悉,对于Java自带的日志处理不太会使用。