RangeError 클래스

RangeError 클래스

주어진 숫자 값이 허용 범위를 벗어날 때 발생하는 예외예요. "범위(range)"라는 단어가 붙어 있지만, 값의 허용 구간을 넘어서는 연산을 시도하면 던져지는 예외라고 이해하면 돼요.

출처: Ruby 4.0 API

본문

예를 들어 아주 큰 수를 drop에 넘겨서 정수 범위를 넘어서면 RangeError가 발생해요.

[1, 2, 3].drop(1 << 100)

이 코드를 실행하면 이런 예외가 올라와요:

RangeError: bignum too big to convert into `long'

즉, 너무 큰 수를 long으로 바꿀 수 없어서 범위 오류가 난 거랍니다.