스터디/클린코드(Clean Code)

[스터디] 클린코드 7장 (2022년 7월 5일)

눙엉 2022. 7. 5. 23:29

7장은 오류처리에 관한 단원이다.

프론트 개발을 하다 보면 개발자가 원했던 입력 값을 사용하지 않는 경우는 흔하다.

오류처리는 가이드라인을 정하는 그런 느낌으로 책을 읽어보았다.

 

오류 코드보다 예외를 사용하라

try catch 문을 사용해라 함수 내에서 오류코드를 확인해라

form에서 try catch문으로 예외상황을 처리한다.

 

Try-Catch-Finally 문부터 작성하라

try-catch-finally 문에서 try 블록에 들어가는 코드를 실행하면 어느 시점에서든 실행이 중단된 후 catch 블록으로 넘어갈 수 있다.

try-catch 구조로 범위를 정의했으니 TDD를 사용해 나머지 논리를 추가한다.

 

미확인(unchecked) 예외를 사용하라

사실 미확인 예외라는 말을 처음 들어봐서 검색해보았다.

 

확인된 예외

  • 잘못된 코드가 아닌 잘못된 상황에서 발생하는 예외
  • 파일 열기와 같이 정확한 코드로 구현했음에도, 외부 환경(파일이 없는 상황 등)에 따라 발생 가능
  • 예외처리를 구현하지 않으면 컴파일 에러 발생 (컴파일 시 확인해서 확인된 예외)
  • RuntimeException 이외의 예외들

미확인 예외

  • 런타임 시 잘못 구현된 코드로 인해 발생하는 예외
  • 컴파일 에러가 나지 않지만 적절한 예외처리가 없을 경우 프로그램이 강제 종료
  • 컴파일 시 확인하지 않기 때문에 미확인 예외
  • RuntimeException에 포함된 예외들

이렇게 구분할 수 있는데 확인된 예외는 사용자가 발생시킨 에러, 미확인 예외는 개발자가 발생시킨 에러? 그런 느낌인 거 같다.

 

예외에 의미를 제공하라

예외를 던질 떄는 전후 상황을 충분히 덧붙인다.

오류 메시지에 정보를 담아 예외와 함께 던지고, 실패한 연산 이름과 실패 유형도 언급한다.

에러도 하나의 데이터로서 사용하면 디버깅할 때 참 편할 것 같다는 생각이 들었다.

 

결론

깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다.

사용자들은 절대 개발자 원하는 대로 사용하지 않으니... 어떻게든 프로그램이 죽지 않도록 살려야 한다