软件构造Lab4实验总结

本实验的主要工作是找到程序容易出错的地方,并且尽力避免程序的崩溃。主要找到了以下几种容易出错的场合:
1.trackgame的错误处理:
(1).如果game标签没有找到或者不合法,则抛出异常game type error.
(2).如果num of track标签没有找到或者不合法,则抛出异常num of track error.
(3).对于运动员的信息,如果某行数据的格式不合法,将忽略该数据,继续读取其他数据。如果没有合适的运动员数据,则抛出异常athlete not found.
(4).如果有两个运动员名字完全相同,抛出异常same name.
(5).如果国家名字不是三位大写字母,抛出异常country of XXX error。其中xxx为该运动员的姓名。
(6).如果进行接力比赛时,选手数目不能被4整除,抛出异常not divisive by 4.
2.atom structure的错误处理
(1).如果元素名字不合法或未找到,抛出异常element name error.
(2).如果原子轨道数目不合法或未找到,抛出异常number of tracks error.
(3).如果电子数目的数据组数和原子轨道数不匹配,抛出异常track number illegal.
(4).如果没有找到电子数目信息,抛出异常electron information required.
(5).如果中子和质子的信息不是同时出现或同时不出现,抛出异常nucleus error.
(6).若跃迁时当前轨道已经为空或者目标轨道不存在,抛出异常not legal transit action.
3.social network circle的错误处理
(1).如果找不到中心用户,或者中心用户的信息格式不正确,抛出异常central user error.
(2).如果某个用户的性别信息不正确,抛出异常sex error。
(3).如果在添加社交关系时使用了未定义的用户,抛出异常add failed.
(4).试图删除不存在的社交关系,抛出异常remove failed.
(5).试图查询不存在的用户的逻辑距离,抛出异常name not found.
(6).试图查询不在第一轨道上用户的expansion,抛出异常not on track 1.
(7).若某些行的信息有部分错误,忽略该行但不终止程序。
为了记录和输出方便,定义了一个自定义异常类。该类包含了发生错误的日期和时间,表示错误信息的字符串以及错误类型编号。当此异常对象被创建时,还可以自动向控制台输出相关的错误信息,以便于定位错误。
在这里插入图片描述
通过本次实验我学会了为程序添加异常处理机制,使用断言保证程序的正确性,以及用日志来记录程序的所作所为。总体来讲有一定的收获。实际上,为他人进行代码的差错比自己写一个新的程序还要困难,需要更强的代码理解能力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值