우리 진짜, catch절에서 예외정보를 그냥은 버리지 맙시다.
저번에도 이 글 쓴 거 같은데…
할말하앜
문자발송 보내기 전, 수신자 목록뽑는 쿼리 받아와서
루프돌면서 문자 발송하는데, 루프 모양이
for(int i = 0; i<= smsList.size(); i++) 이래요. (저 리스트 변수이름은 적당히 바꾼 것)
저기 중간절에 등호 들어간거 되게 거슬리죠?
참고로
저 for문 안에서, 저 리스트 원소 get(i) 로 꺼내는 코드 있습니다.
그러니 당연히 ArrayOutOfBoundException 이 나죠. 맨 마지막에만.
근데 catch 절에
System.out.println("발송실패 : "+vo.getMsg());
return “000”;이래놔서
로그 보니까 발송실패 로그가 매번 찍히긴 했더라구요.
근데 화면 상에서는, 업무적으로도,
기능이 정상동작 했어요.기능이 정상동작한 이유는
여하튼 마지막 원소까지 루프는 돌고, 그 이후에 예외가 나게 되어있죠.
그리고 catch절에서 로그찍고 (System.out으로…) 그냥 리턴해버려요.
그 바깥 메소드에서는, 얘가 예외가 발생한지 몰라요.
뭐 여하튼 정상동작하는(?) 코드란 말이죠.
로그에만 “발송실패” 한줄씩 찍히는…
이것땜에 1시간 그냥 날아갔는데 뭐 이건 여하튼…
이거 가만 놔두고 수정할부분만 수정하는 게 나을까요?
아님 저 등호를 기어이 빼야 할까요?