FloatDomainError 클래스
FloatDomainError 클래스 (FloatDomainError)
FloatDomainError는 특수한 부동소수점 값(특히 Infinity나 NaN)을 그 값들을 지원하지 않는 수치 클래스로 변환하려 할 때 발생해요.
Float::INFINITY.to_r #=> FloatDomainError: Infinity
Float::INFINITY는 유한한 정수/분수로 나타낼 수 없으니 Rational로 변환할 수 없어요. 그래서 to_r 같은 변환 메서드가 이 예외를 던지는 겁니다.
출처: Ruby 4.0 API
본문
FloatDomainError는 RangeError의 서브클래스예요. Float#to_r처럼 무한대나 NaN을 유한 수 체계로 옮기는 연산을 하다가 만나게 되는 예외라고 생각하면 돼요. rescue FloatDomainError로 잡아서 특수 값에 대한 처리를 분기할 수 있습니다.