From ee0773cdfb175799f8a77ba1a54fb878e8bc242e Mon Sep 17 00:00:00 2001 From: Swocky <404392659@qq.com> Date: Mon, 8 Jul 2019 16:47:26 +0800 Subject: [PATCH] improve the robustness of LadderGenerator --- Lab6-1160300314/src/ladder/LadderGenerator.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Lab6-1160300314/src/ladder/LadderGenerator.java b/Lab6-1160300314/src/ladder/LadderGenerator.java index 32ddc1b..4369d62 100644 --- a/Lab6-1160300314/src/ladder/LadderGenerator.java +++ b/Lab6-1160300314/src/ladder/LadderGenerator.java @@ -15,7 +15,9 @@ public class LadderGenerator { /* Rep invariant: numberOfLadders is equal to Params.n + numberOfLadders > 0 length is equal to Params.h + length > 0 Abstraction function: represents a generator can generate ladders with same pedals on them. Safety from rep exposure: @@ -29,11 +31,14 @@ public class LadderGenerator { /** * Can generating Params.n ladders in config. * - * @throws ConfigurationException if config is wrong. + * @throws Exception if config is wrong or length or numberOfLadders <= 0. */ - public LadderGenerator() throws ConfigurationException { + public LadderGenerator() throws Exception { this.length = ConfigReader.getConfig(Params.h); this.numberOfLadders = ConfigReader.getConfig(Params.n); + if (this.length <= 0 || this.numberOfLadders <= 0) { + throw new Exception("length or numberOfLadders <= 0"); + } this.checkRep(); } @@ -44,6 +49,8 @@ private void checkRep() { assert length == numberOfPedals; assert numberOfLadders == number; + assert number > 0; + assert numberOfPedals > 0; } catch (ConfigurationException e) { throw new RuntimeException(e); }