Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL (22.03.04)_ 7장 오류처리
#clean_code
2년 전
506

TIL (Today I Learned)

22.03.04

오늘 읽은 범위

7장 오류처리

📖 기억하고 싶은 내용

  • p.130 오류 코드보다 예외를 사용하라

  • p.132 Try-Catch-Finally 문부터 작성하라 :

try 블록에 들어가는 코드를 실행하면 어느 시점에서든 실행이 중단된 후 catch 블록으로 넘어갈 수 있다. 어떤 면에서 try 블록은 트랜잭션과 비슷하다. try 블록에서 무슨 일이 생기든 지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다.

  • p. 133 먼저 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 코드를 작성하는 방법을 권장한다. 그러면 자연스럽게 try 블록의 트랜잭션 범위 부터 구현하게 되므로 범위 내에서 트랜잭션 본질을 유지하기 쉬워진다

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

  • p. 138 null을 반환하지 마라 : 오류 처리를 논하는 장이라면 우리가 흔히 저지르는 바람에 오류를 유발하는 행위도 언급해야 한다고 생각한다. 그 중 첫째가 null을 반환하는 습관이다. (…) 메서드에서 null을 반환하고픈 유혹이 든다면 그 대신 예 외를 던지거나 특수 사례 객체를 반환한다. 사용하려는 외부 API가 null을 반환 한다면 감싸기 메서드를 구현해 예외를 던지거나 특수 사례 객체를 반환하는 방식을 고려한다.

  • p.140 null을 전달하지 마라 : 메서드로 null을 전달하는 방식은 더 나쁘다. 정상적인 인수로 null을 기대하는 API가 아니라면 메서드로 null을 전달하는 코드는 최대한 피한다. (…) 대다수 프로그래밍 언어는 호출자가 실수로 넘기는 null을 적절히 처리하는 방법이 없다. 그렇다면 애초에 null을 넘기지 못하도록 금지하는 정책이 합리적 이다.

✍️ 읽은 소감

  • null 관련 챕터를 읽으면서 고민이 더 깊어진다. 개발 중에 마주하는 null들을 언제나 나쁜 코드로 처리하고는 했는데, 작가가 제시한 예시를 바탕으로 어떻게 현명하게 수정할 수 있을까. (실전은 언제나 어렵다ㅠ)

  • Try-catch를 어떻게 활용해야하는지 좀 더 알게 되었다. 왜 이렇게 예외처리를 해야하는지 이해할 수 있었던 파트. 왜 이걸 써야하는지 알지 못한채로 코드를 치는 경우가 왕왕 있는데, 그러지 말자고 다시금 다짐하게된 파트였다.

🧐 궁금한 내용, 잘 이해되지 않는 내용

  • java assert 문법