FloatDomainError 클래스

FloatDomainError 클래스 (FloatDomainError)

특수한 부동소수점 값(특히 InfinityNaN)을 지원하지 않는 숫자 클래스로 변환하려고 할 때 발생하는 예외예요.

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

출처: Ruby 3.3 API

본문

FloatDomainErrorRangeError의 서브클래스예요. Float::INFINITY.to_r처럼 무한대를 유리수(Rational)로 바꾸는 연산은 결과를 표현할 수 없으니 예외를 던져요. NaN을 다른 숫자 형식으로 변환하려 할 때도 마찬가지로 발생할 수 있어요.

숫자 변환을 할 때 이런 특수 값을 만날 가능성이 있는 코드에는 예외 처리를 넣어두는 게 좋아요.