타입 검사기가 볼 수 없는 에러 던지기는 이제 그만
던져진 예외는 실패 경로를 타입 시스템에서 감춥니다. 명시적인 에러 반환이 코드를 더 정직하게 만드는 이유, 그리고 삶을 싫어하지 않으면서 이를 도입하는 방법을 알아봅니다.
함수 시그니처가 를 반환한다고 합니다. 그렇지 않습니다. 를 반환하거나 폭발합니다. 타입 시스템은 두 번째 분기에 대해 전혀 모릅니다. 이것이 예외 기반 에러 핸들링의 근본적인 불성실함입니다. 모든 는 컴파일러가 볼 수도, 검사할 수도, 강제할 수도 없는 제어 흐름 경로입니다.…