예상 가능한 실패
잘못된 입력, 파일 없음, 네트워크 실패처럼 호출자가 대처할 수 있는 경우입니다.
에러 처리는 문법 선택이 아니라 호출자에게 어떤 선택권을 남길지, 어떤 값 보장을 타입에 넣을지 정하는 설계입니다.
잘못된 입력, 파일 없음, 네트워크 실패처럼 호출자가 대처할 수 있는 경우입니다.
계속 실행하면 안전하지 않거나 호출자 버그가 분명한 나쁜 상태입니다.
하드코딩된 값처럼 사람이 참이라고 아는 전제를 메시지로 남깁니다.
커스텀 타입 생성자에서 유효성을 확인해 이후 함수가 안전한 값만 받게 합니다.
잘못 들어올 수 있다면 정상적인 실패로 보고 Result를 반환합니다.
계약을 어긴 호출이라면 개발 중 바로 드러나도록 패닉을 고려합니다.
범위 밖 접근처럼 더 진행하면 위험하면 즉시 멈추는 편이 낫습니다.
1부터 100 같은 규칙은 생성자와 비공개 필드로 한곳에 모을 수 있습니다.