Skip to content

Commit 5043dda

Browse files
committed
feat: 턴 입력 오류 시 재시도 구현
1 parent ff8b0a0 commit 5043dda

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

src/main/java/com/kakao/onboarding/precource/dukeyun/baseball/baseball/BaseballNumber.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ private void checkNumbersRange(List<Integer> numbers) {
3434

3535
private void checkNumberRange(int number) {
3636
if (number < config.getMinRange() || config.getMaxRange() < number) {
37-
throw new RuntimeException(
37+
throw new IllegalArgumentException(
3838
String.format("숫자 범위는 %d 이상 %d 이하여야 합니다. (문제 숫자: %d)", config.getMinRange(), config.getMaxRange(),
3939
number));
4040
}
4141
}
4242

4343
private void checkLength(List<Integer> numbers) {
4444
if (numbers.size() != config.getLength()) {
45-
throw new RuntimeException(
45+
throw new IllegalArgumentException(
4646
String.format("숫자야구 길이는 %d이어야 합니다.(현재 길이 : %d)", config.getLength(), numbers.size()));
4747
}
4848
}

src/main/java/com/kakao/onboarding/precource/dukeyun/baseball/framework/game/turn/TurnBaseGame.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,15 @@ public void play() {
2222
turnBaseGameView.printStart();
2323

2424
while (true) {
25-
TurnResult turnResult = turnBaseGameService.playTurn(turnBaseGameView.requestTurnInput());
26-
turnBaseGameView.printResult(turnResult);
27-
if (turnResult.isGameCleared()) {
28-
turnBaseGameView.printClear();
29-
return;
25+
try {
26+
TurnResult turnResult = turnBaseGameService.playTurn(turnBaseGameView.requestTurnInput());
27+
turnBaseGameView.printResult(turnResult);
28+
if (turnResult.isGameCleared()) {
29+
turnBaseGameView.printClear();
30+
return;
31+
}
32+
} catch (IllegalArgumentException e) {
33+
System.out.println("[ERROR] " + e.getMessage());
3034
}
3135
}
3236
}

0 commit comments

Comments
 (0)