본문 바로가기
공부내용

TIL_클린코드_7장_오류 처리

by 바나나하나 2022. 5. 5.
반응형

TIL (Today I Learned)

2022.05.05

오늘 읽은 범위

7장. 오류 처리

책에서 기억하고 싶은 내용

오류 처리는 중요하다. 하지만 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다. - 130페이지

예외가 발생할 코드를 짤 때는 try-catch-finally문으로 시작하는 편이 낫다. - 132페이지

미확인예외를 사용하라.

확인된 예외는 OCP(Open Closed Principle)를 위반한다. 메서드에서 확인된 예외를 던졌는데 catch 블록이 세 단계 위에 있다면 그 사이 메서드 모두가 선언부에 해당 예외를 정의해야 한다. 즉, 하위 단계에서 코드를 변경하면 상위 단계 메서드 선언부를 전부 고쳐야 한다는 말이다. - 134페이지

예외에 의미를 제공하라.

예외를 던질 때는 전후 상황을 충분히 덧붙인다. 오류 메시지에 정보를 담아 예외와 함께 던진다. - 135페이지

null을 반환하지 마라

메서드에서 null을 반환하고픈 유혹이 든다면 그 대신 예외를 던지거나 특수 사례 객체를 반환한다. - 139페이지

null을 전달하지 마라

정상적인 인수로 null을 기대하는 API가 아니라면 메서드로 null을 전달하는 코드는 최대한 피한다. - 140페이지

결론

깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다. 이 둘은 상충하는 목표가 아니다. 오류 처리를 프로그램 논리와 분리해 독자적인 사안으로 고려하면 튼튼하고 깨끗한 코드를 작성할 수 있다. 오류 처리를 프로그램 논리와 분리하면 독립적인 추론이 가능해지며 코드 유지보수성도 크게 높아진다. - 142페이지

 

오늘 읽은 소감은? 떠오르는 생각

Nodejs를 대부분 사용하고 자바는 유지보수에만 조금 사용해봐서 그런지 자바의 오류 처리 내용은 크게 와닿지가 않는다. 다음에 자바를 사용해서 개발해야할 일이 있으면 그 때 자세히 살펴보기로 하자.

일단 오류 코드를 사용하지 않고 try-catch-finally문을 사용해서 예외를 발생시키는 코드를 작성하는 것이 중요함을 알게 되었다. null을 반환하고 그 것을 체크하는 코드를 작성하는 것을 지양하는 것이 좋겠다. 

반응형

댓글