2022.03.04
7장. 오류처리
우아하고 고상하게 오류를 처리하는 기법과 고려사항 몇 가지
try블록에서 무슨 일이 생기든지 호출자가 기대하는 상태를 정의하기 쉬워진다. (p.132)
먼저 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 코드를 작성하는 방법을 권장한다. 그러면 자연스럽게 try 블록의 트랜젝션 범위부터 구현하게 되므로 범위 내에서 트랜잭션 본질을 유지하기 쉬워진다.
(p.133 Try-Catch-Finally 문부터 작성하라)
우리는 확인된 오류가 치르는 비용에 상응하는 이익을 제공하는지 따져봐야한다. 때로는 확인된 예외도 유용하다. 아주 중요한 라이브러리를 작성한다면 모든 예외를 잡아야 한다. 하지만 일반적인 애플리케이션은 의존성이라는 비용이 이익보다 크다.
(p.134-135 미확인 예외를 사용하라)
null을 반환하는 코드는 일거리를 늘릴 뿐만 아니라 호출자에게 문제를 떠넘긴다.
메서드에서 null을 반환하는 방식도 나쁘지만 메서드로 null을 전달하는 방식은 더 나쁘다.
(p.140)
코드의 깨끗함과 안정성 + 오류처리와 프로그램 논리 => 독립적 추론과 코드 유지보수성 향상