노마드코더 개발자북클럽 Clean code TIL 7 : 7장. 오류 처리
오늘 TIL 3줄 요약
논리가 오류 처리 코드와 뒤섞이지 않으므로
오류가 발생하면 예외를 던지는 편이 낫다.확인된 예외는 OCP를 위반한다.
하위 단계의 코드 변경이
상위 단계 메서드 선언부 전부를 고치게 만들기 때문이다.외부 라이브러리, API 가 던지는 예외를 전부 잡아내지말고
감싸는 클래스, Wrapper를 사용하여 의존성을 줄이자.
가능하다면, 예외 유형 하나로 오류를 구분하자.
TIL (Today I Learned) 날짜
2025. 06.03
오늘 읽은 범위
7장. 오류처리
기억하고 싶은 내용을 써보세요.
- 오류 플래그, 호출자에게 오류 코드 반환하기
vs
예외 던지기.
에외를 지원하지 않는 프로그래밍 언어가 많았다. - try-catch-fianally
try 블록은 트랜잭션과 비슷하다. - catch 블록에서 예외 유형을 좁혀라.
확인된 예외는 OCP를 위반한다.
하위 단계의 코드 변경이
상위 단계 메서드 선언부 전부를 고치게 만들기 때문이다.예외에 의미를 제공하라.
특히, 애플리케이션이 로깅을 제공한다면
catch 블록에서 오류를 기록하도록 충분한 정부를 넘겨준다.오류를 처리하는 대부분의 로직.
1) 오류를 기록하고
2) 프로그램을 계속 수행해도 좋은지 확인한다.정상 흐름부터 정의하라.
NULL을 반환하지 마라.
호출자에게 문제를 떠넘기는 것이다.
NULL확인이 누락된 코드를 고치는 게 아니라
특수 사례 객체를 통해 NULL확인을 만들지 마라!NULL을 전달하지 마라.
null을 전달받는 쪽에서 처리하지 말고
null 을 전달하는 쪽에서 전달을 막아라.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
NULL을 확인할 일 자체를 최소화해야겠다.
NULL대신 적합한 기본값을 사용하자.깨끗한 코드는 가독성도 좋아야하지만
안전성이 높아야한다.
그리고 이 둘은 시간-공간 개념처럼 Trade off되는, 상충되는 개념이 아님.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 특수 사례 객체. Wrapper의 활용법.
언제 Wrapper를 쓰며 효용은 무엇인가?
공부법
댓글
댓글 쓰기