FloatDomainError 클래스

FloatDomainError 클래스 (FloatDomainError)

FloatDomainError는 특수한 부동소수점 값(특히 InfinityNaN)을 그 값들을 지원하지 않는 수치 클래스로 변환하려 할 때 발생해요.

Float::INFINITY.to_r   #=> FloatDomainError: Infinity

Float::INFINITY는 유한한 정수/분수로 나타낼 수 없으니 Rational로 변환할 수 없어요. 그래서 to_r 같은 변환 메서드가 이 예외를 던지는 겁니다.

출처: Ruby 4.0 API

본문

FloatDomainErrorRangeError의 서브클래스예요. Float#to_r처럼 무한대나 NaN을 유한 수 체계로 옮기는 연산을 하다가 만나게 되는 예외라고 생각하면 돼요. rescue FloatDomainError로 잡아서 특수 값에 대한 처리를 분기할 수 있습니다.