[클린 코드] 오류 처리

nn·2022년 5월 6일
0

clean-code

목록 보기
9/9

오늘 TIL 요약

  • 뭔가 잘 못될 가능성은 늘 존재한다.
  • 프로그램 논리와 오류처리를 분리하자.

7장. 오류 처리

책에서 기억하고 싶은 내용

  • 오류 플래그를 설정하거나 호출자에게 오류 코드를 반환하는 방법은 함수를 호출한 즉시 오류를 확인해야 하므로 호출자 코드를 복잡하게 한다. (p.131)
    논리와 오류 처리코드가 뒤섞이지 않게 하기 위해선 오류를 발견했을 때 예외를 던지자.

  • Try-Catch-Finally문 부터 작성하라(p.132)
    Catch블록은 Try문에서 어떤 일이 생기든지 프로그램 상태를 일관적으로 유지해야한다.
    그러므로 예외가 발생할 가능성이 있는 코드를 짤 때는 Try-Catch-Finally문부터 작성하여 무슨 일이 생겨도 호출자가 기대하는 상태를 정의하자.
    Try-Catch 구조로 범위를 정의한 이후엔 TDD를 사용하여 논리를 추가하자.

  • 호출자를 고려해 예외 클래스를 정의하라
    애플리케이션에서 오류를 정의할 때 프로그래머에게 가장 중요한 관심사는 오류를 잡아내는 방법이 되어야 한다. (p.135)

    1) 오류를 기록한다.
    2) 프로그램을 계속 수행해도 좋은지 확인한다.
    이럴때 호출하는 라이브러리 API를 감싸면서 예외 유형 하나를 반환하면 된다.

    외부 API를 사용할 때는 감싸기 기법이 최선이다. => 의존성이 크게 줄어들고 다른 API로 교체에 드는 비용이 적다.

소감
항상 오류에대해 대비를 못하고 코드를 짠 기억이있다.
실제로 상사에게도 많이 듣던 말이었다.
개발자로선 예상되는 오류보다 더 넓은 가능성을 생각하고 오류를 대비해야한다고 했다.
오류 처리는 언제나 숙제같은 파트였어서 유독 책임감을 느끼고 읽게 된 장이었다.

profile
내가 될 거라고 했잖아

0개의 댓글