TIL

TIL) 다양한 예외와 일관 예외처리

tmddnr3503 2024. 10. 23. 21:50

1. 구현해야 하는 것

 여러 예외상황에 대하여 각각 알맞는 메시지를 전달해야하고, 이런 예외상황을 한번에 처리해줄 수 있는 메서드를 구현해야합니다. 예외상황을 한번에 처리해주기 위해서는 진행된 상황을 저장하는 변수를 제공하여 현재 진행상황을 저장하는 코드를 구현해려고 합니다.

 

2. 현재 진행상황을 enum으로 저장하고, 각각의 예외에 맞는 예외를 선언해주는 방식으로 해결합니다.

 현재 게임 타입에 맞는 GameType과 현재 진행단계인 Stage를 enum으로 선언합니다. GameType에는 다음과 같은 상수로 선언해줍니다.

  • StartProgram
  • PlayGame
  • ShowTry
  • EndGame

 이때 GameType은 int로 입력받기때문에 enum안에 입력받은 int를 매개변수로 enum상수를 반환해주는 함수를 작성하였습니다. 이 메서드로 인덱스에 맞는 enum 상수를 반환 받을 수 있습니다. 또한 원래 입력 받을 때, 범위에 맞지 않는 수를 if문으로 예외처리를 해주었지만 enum 인덱스에 입력받은 상수가 없을 때, 예외처리를 해주는 것으로 코드를 간략화 할 수 있었습니다. 이렇게 숫자야구게임 lv4까지의 기능 구현을 모두 마쳤습니다.

 

3. 앞으로 해야하는 것

  1. 숫자 야구게임 리팩터링(변수, 클래스 등의 이름을 카멜케이스에 맞게 변경하기)
  2. 너무 많은 기능을 가지고 있는 메서드와 클래스를 찾아서 기능을 분리해주는 작업을 해줍니다.