본문 바로가기
독서/클린 코드

TIL 7장. 오류처리

by 동배_ 2022. 3. 4.

TIL (Today I Learned)

2022.03.03

 

오늘 읽은 범위

7장. 오류처리

 

책에서 기억하고 싶은 내용을 써보세요.(요약)

  • 미확인 예외를 사용하라 ( p.133) -> checked exception사용하는 것을 지양하고 unchecked (e.g. runtimeException)등을 사용
  • 예외에 의미를 제공하라(p.135) -> 커스텀 예외 등을 사용하여 특정 비지니스 로직에서 나오는 예외임을 밝혀라
  • null을 반환하지 마라. 전달하지마라. 

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

 

내가 회사에서 코드를 짜면서 사내 챕터 스터디, 세미나, 사내 코드들을 분석하면서 예외처리에 대해서 알게되었고 이번 클린 코드책을 통해서 더 자세히 혹은 알던 지식을 확립할 수 있는 계기가 되어서 좋은 것 같다.

 

사실 그저께만해도 특정 enum타입과 String이 매칭이 되는지 확인하는 메소드를 팀원이 만들었었는데 여기서 계속 에러가 발생하여 처음에 Optional을 통하여 null처리를 해주었으나. 그러면 반환 값을 어떻게 주어야 할지 몰라 타입 매칭이 안되면 null을 반환하고 받는 쪽에서 Optional처리를 해주었는데 (ifPresent를 사용하여 없을때는 Map에 안넣게)

 

이 방법이 잘못된다는 것을 바로 책에서 알려주는 것이다. 그래서 다시 내가 변경했던 코드를 뒤돌아보게 되었고 사수분과 함께 논의하혀 변경한기억있다.

 

특정 비지니스로직에서 어떤 비지니스에서 에러가 발생하는지를 알려주면 좋고 (예외의 의미를 제공하면서 커스텀예외(RuntimeException을 상속받아)를 던저주여 핸들러에서 처리하게끔)

null을 반환하고, 전달하지마라. 

 

warrper클래스를 생각하며 사용할 수 있을때 유용하게 사용하자.

 

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

 

이 책이외에도 예외처리에 관한 좋은 영상이 있어서 붙힌다.

https://www.youtube.com/watch?v=_WkMhytqoCc // 백기선 unchecked에서 롤백?

댓글