[Project] break를 안쓰다니…!

Updated:

Categories:

Tags: ,

📌 개인적인 공간으로 공부를 기록하고 복습하기 위해 사용하는 블로그입니다.
정확하지 않은 정보가 있을 수 있으니 참고바랍니다 :😸
[틀린 내용은 댓글로 남겨주시면 복받으실거에요]

자원 예약도 이제 다른 팀원 분이 어느 정도 구현을 다한 것 같아서 알림 기능을 붙이기로 했다. 차량 예약은 알림 기능 붙이고 회의실 예약 마저 붙이고 있는데 갑자기 에러가 발생….!했다

문제 발생

  • 알림 시스템을 구현할 때, NotificationService 클래스의 createNotificationEntity 메서드에서 BOOK_ROOM 유형의 알림을 처리하려고 했으나, 예기치 않은 예외가 발생함.
  • BOOK_CAR 유형의 알림은 정상적으로 처리되었으나, BOOK_ROOM 유형에서는 처리되지 않고 예외가 발생했음.

열심히 Debugging

  • NotifiacationMessage 구조가 다르면 발생할 수도 있으니까 혹시 CAR_ROOM으로 적었나했는데 아니였다.
  • 분명 Book_Car은 잘되는 거 확인하고 회의실 예약에 알림 붙이려고 넘어간건데 되지 않았다.,.!

  • 타입 같은데 왜 안되는 걸까요..
  • 에러 보면 여기가 잡히길래 가서 확인해보았다.

  • 아니 Book-car는 되는데 왜 BOOK_ROOM 만 안되는 건지..!

  • 디버깅 때도 심지어 BOOK_ROOM 으로 잘 들어오는데 왜 안될까???

  • 한참찾다가 break 가 없는걸 알게 되었다…ㅎ… break가 없어서 default문으로 넘어가서 저기서 예외가 발생하게 된 것이다,

해결 완료

  • 회의실 신청하면

  • 회의실 신청자에게 알림이 도착한다.

  • DB에도 잘 쌓이는 거 확인 완료!


한참을 디버깅하고 여러 가지 가능성을 생각하며 코드를 살펴보았지만, 결국 간단한 break 문 하나 때문에 오류가 발생했다는 사실을 알게 되었을 때 허탈함을 느꼈다. 작은 실수 하나가 큰 문제를 일으킬 수 있다는 것을 실감했고, switch-case 구문에서 break 문을 반드시 확인하는 습관을 가져야겠다고 다짐했다.

이번 경험을 통해 디버깅의 중요성과 세세한 코드 검토의 필요성을 느꼈다. 간단한 실수가 큰 버그로 이어질 수 있으니, 디버깅을 할 때는 큰 문제만 찾으려고 하기보다는 사소한 부분도 꼼꼼히 점검해야 한다는 교훈을 얻었다.







Project 카테고리 내 다른 글 보러가기

Leave a comment