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#fetchIndexError를 발생시켜요. 인덱스 오류와 관련된 다른 예외 타입으로는 KeyError도 있는데, 이건 IndexError의 하위 클래스예요.