本次实验重点训练学生面向健壮性和正确性的编程技能,利用错误和异常处
理、断言与防御式编程技术、日志/断点等调试技术、黑盒测试编程技术,使程序可在不同的健壮性/正确性需求下能恰当的处理各种例外与错误情况,在出错后可优雅的退出或继续执行,发现错误之后可有效的定位错误并做出修改。
实验针对 Lab 3 中写好的 ADT 代码和基于该 ADT 的三个应用的代码,使用以下技术进行改造,提高其健壮性和正确性:
·错误处理
·异常处理
·Assertion 和防御式编程
·日志
·调试技术
·黑盒测试及代码覆盖度
3.1 Error and Exception Handling
3.1.1 处理输入文本中的三类错误
- DataPatternException 数据常量错误导致没有匹配到三个元素
抛出异常方法:在正则表达式匹配时,若没有匹配到则抛出该错误。 - EntryNumberFormatException 计划项编号不规范
抛出异常方法:检查是否符合“前两个字符为大写字母,后2-4个字符为数字”。 - SameAirportException 起飞和到达地点相同
抛出异常方法:对比两个机场字符串是否相等。 - TimeOrderException 起飞时间在到达时间之后或两个时间相同
抛出异常方法:先用try结构进行判断,否则抛出DateTimeParseException;然后在finally中使用LocalDateTime.isBefore()方法比较。 - PlaneNumberFormatException 飞机编号不规范
抛出异常方法:检查字符串长度以及首字母、后4位数字。 - HugeTimeGapException 起飞时间和到达时间超过一天
抛出异常方法&#