[Vote22] 2022/02/15 Update

Jake·2022년 2월 15일
0

Vote22

목록 보기
4/4

1. 예외처리 부재로 인한 앱 비정상 종료 핸들링

여론조사 결과 하나를 추가로 업데이트 한 후 앱을 실행했는데, 갑자기 앱이 켜지지 않는 오류가 발생했습니다.
다행히 원인은 금방 찾을 수 있었는데, 다음과 같았습니다.

  • 현재 로직:

    • Vote22 앱 -> 서버 -> DB로 정보를 요청하는 형태입니다.

    • 이 때 여론조사 결과의 경우 받아온 여론조사 정보에서

      • 업로드 된 월을 확인
      • 해당 월에 맞는 영어를 뷰에 표시
        (e.g. 2월 -> FEB, 12월 -> DEC)
    • 이를 위해서, 안드로이드 앱 코드는 다음과 같이 작성되어 있었습니다.

    		String[] monthEng = {JAN, FEB, MAR, ... , DEC};
    
    		public String getMonthEng(int month) {
    			return monthEng[month];
    		}
    		```
      
    

여기서 문제가 발생했는데, 실수로 월에 14라는 값을 입력했더니 OutOfIndex 오류가 발생해서, 앱이 켜지지 않고 비정상 종료 되었습니다.

이 부분은 사실 앱 코드가 아니라 DB에 insert할 때 해당 값이 적절한지 한 번 검토할 수 있게 해야할 것 같았습니다.

따라서 Spring 서버에서 월에 해당하는 값이 1 ~ 12의 범위 내에 있지 않다면 DB에 insert 하지 않도록 코드를 수정하였습니다.

예외처리가 얼마나 중요한지 알 수 있는 부분이었던 것 같습니다.

profile
Java/Spring Back-End Developer

0개의 댓글