본문 바로가기
강좌/우테코

우테코 프리코스 3주차

by lms0806 2022. 11. 19.
728x90
반응형

이번주는 Lotto 프로그램을 만드는 걸 목표로 하였습니다.

2주차와는 다르게 Lotto 클래스를 주어지고 해당 클래스를 활용하여 프로젝트를 완성하는 것이였습니다.

+ 조건으로 붙은 Enum 사용하기 or 테스트 코드를 추가하여 테스트해보기

 

Enum은 제가 활용해본적이 없어서, 이번기회에 공부를 하여 사용하게 되었습니다. 주로 Message를 출력할 때, 활용하기 좋았습니다.

 

이번주에는 새로운 문제를 만나게 되었습니다.

"주어진 조건에 맞지 않는 케이스가 주어질 경우 IllegalArgumentException 오류를 발생하고 [ERROR]로 시작하는 메시지를 출력한 후 종료하라" 였습니다.

try{ } catch(Exception e){ }로 활용하여 잘못된 오류 케이스를 잡고 throw new IllegalArgumentException("[ERROR]")로 한 후, 실행해보았으나 실패하였습니다.

throw를 한 후, System.out.print로 출력을 하면, 출력이 안되어 오류를 체크하고 출력할 수 없었습니다.

여러 방식들을 찾아보다가 1가지 방식을 생각해 냈습니다. Try{} catch{}를 통해 잡은 오류에 대해 다시 try{}catch{}를 하면?'

try{
 if(n == 0}
  throw new IllegalArgumentException("[ERROR]");
 }
} catch(IllegalArgumentException e){
 e.printStackTrace();
 return;
}

예를 들어, 이렇게 작성을 하면, n이 0일 경우 "[ERROR]"를 포함한 IllegalArgumentException 에러를 발생하고, 해당 에러가 발생하면 catch가 잡아 오류내용을 출력한 후, return문을 통해 종료

이렇게 하면 System.exit()를 사용하지 않고도 main문을 종료하여 게임을 끝낼 수 있습니다.

 

두 번째 문제로는 ApplicationTest에서 발생하였습니다.

해당 문제는 @Override를 확인하지 못하여 발생한 문제였습니다.

ApplicationTest는 Lotto package에서 작동하고 있는데, 제가 소스코드들을 작성하면서 Application.java 소스코드를 Main 클래스를 만들어 해당 클래스에서 사용하고 있어서 발생한 문제였습니다.

 

취직 준비하면서, 우테코 프리코스를 같이 진행할려니 여러가지로 많이 바빠졌네요.

남은 기간동안 화이팅! 입니다.

728x90
반응형

'강좌 > 우테코' 카테고리의 다른 글

우테코 프리코스 2주차  (0) 2022.11.12
우테코 프리코스 1주차  (1) 2022.11.07

댓글