IndexError
IndexError
주어진 인덱스(index)가 유효하지 않을 때 발생하는 예외예요.
출처: Ruby 3.3 API
본문
IndexError는 배열이나 해시 같은 컬렉션에 유효하지 않은 인덱스나 키로 접근하려 할 때 발생해요.
a = [:foo, :bar]
a.fetch(0) #=> :foo
a[4] #=> nil
a.fetch(4) #=> IndexError: index 4 outside of array bounds: -2...2
여기서 a[4]는 범위를 벗어난 인덱스지만 nil을 돌려주고, Array#fetch는 IndexError를 발생시켜요. 인덱스 오류와 관련된 다른 예외 타입으로는 KeyError도 있는데, 이건 IndexError의 하위 클래스예요.