개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
// 2022.03.03
오늘 읽은 범위
7장. 오류처리
책에서 기억하고 싶은 내용을 써보세요.
깨끗한 코드의 오류 처리는 확실히 연관성이 있다. 상당수 코드 기반은 전적으로 오류 처리 코드에 좌우한다. (p.130)
하지만 오류 처리의 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다. (p.130)
오류 코드보다 예외를 사용하라 (p.130)
Try-Catch-Finally 문부터 작성하라 (p.132)
미확인unchecked 예외를 사용하라 (p.133)
그러므로 우리는 확인된 오류가 치르는 비용에 상응하는 이익을 제공하는지 (철저히) 따져봐야 한다. (p.134)
예외에 의미를 제공하라. 예외를 던질 때는 전후 상황을 충분히 덧붙인다. 그러면 오류가 발생한 원인과 위치를 찾기가 쉬워진다. (p.135)
호출자를 고려해 예외 클래스를 정의하라 (p.135)
정상 흐르을 정의하라 (p.137)
null을 반환하지 마라 (p.138)
null을 전달하지 마라 (p.140)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
많이 코딩을 해보지는 않아서 그동안 오류를 처리할 만한 코드를 짜본 적이 많이 없었다. 있어도 한두번 보았던 것 같지만 나 스스로 생각한 코드가 아니라 별 생각없이 그냥 오류가 나면 넘어갈 것~이라고 썼던 것 같다. 물론 내용 상 이런 처리가 괜찮은 처리라고 할 수 있었겠지만 만약 내가 직접 예외처리를 하라고 하면 이 예외에는 A방법으로, 저 예외에는 B방법으로 처리한다고 코드를 짰을지도 모르겠다. 습관화가 되기 전 이 책을 본 게 다행이라고 생각한다. 코딩을 하는 내내 이 책의 내용을 모두 떠올릴 수는 없겠지만 후에 이렇게 자주 쓰지 않는(?) 예외 코드를 짜게 된다면 한 번쯤 떠올리는 것으로 이 챌린지를 한 보람이 있다고 생각하게 되지 않을까 싶다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
특수 사례 패턴(SPECIAL CASE PATTERN) : 클래스를 만들거나 객체를 조작해 특수 사례를 처리하는 방식