실이다. 하지만 이 코드는 같은 메서드 안에서 예외를 던지고 잡기 때문에 더 안전하며 의도를
더 잘 보여 준다. 둘째로, 여전히 아무 곳에서나 발생할 수 있는
NullPointerException
등의
RuntimeException
에 신경을 써야 한다. 이런 예외가 함수 경계를 넘어서 이 메서드까지 도
달할 수도 있는데, 이 메서드의 최상위에 있는 모든 예외를 잡아내는
catch
-
all
구문이 예외 전파
를 끝내고
HTTP
_
INTERNAL
_
ERROR
를 돌려준다. 실제로는 여전히
예상하지 못하는
예외가 발생
할 수 있지만, 이제
예상되는
예외들은
Result
에 따라 표현되고 코드에서 그런 예외가 있다는
사실이 전달된다.
19.8
더 수정하기
이제는 몇 단계 전의
RegistrationHandlerTests
에는 고장난 부분이 있었다고 말할 수 있
다. 보통은 이런 문제를 즉시 수정하지만, 그랬다면 설명을 잠시 중단해야만 했을 것이다.
문제는 테스트가
IRegister
.
register
호출을 예상하는 모의 테스트인데 바뀐
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.