[C#] IndexOutOfRangeException과 ArgumentOutOfRange 에러의 차이

Learning 

When: 1학년 8월 4일

 

How: 백준 문제를 풀다가 ArgumentOutOfRange 런타임 에러가 났는데 무슨 에러인지 잘 몰랐기 때문에 공부를 해보았더니 배열에 인덱스를 잘못 전달했을 때 생기는 에러와 비슷하다는 것을 알아서 그 차이도 공부하게 되었습니다.

 

Understanding:

  • 정의 : 짧게 Argument라고 부르면 이 에러는 크기가 10짜리인 배열이 있다고 했을 때
    인덱스 값 15에 해당하는 값에 접근하면 생기는 IndexOutOfRangeException과 비슷하게,
    값이 10개 밖에 안 들어있는 가변 배열 자료형(List, Queue 등)에서 인덱스 값 15에
    해당하는 값에 접근하면 생기는 런타임 에러입니다.

  • 생기는 상황 : 컬렉션 자료형에서 list[0] 이런 식으로 인덱스 값을 잘못 써서 생기는 경우도
    있지만 list.Remove() 메서드 같은 메서드에서 인수로 잘못된 값을 넣어도 생깁니다.

Result: 백준을 풀 때 문자와 관련된 문제가 자주 나오는 것 같아 리스트 같은 컬렉션 자료형들의 기본적인 지식을 더욱 공부해야겠다는 생각이 들었습니다.

'C#' 카테고리의 다른 글

[C#] SOLID 원칙 (2 : O/OCP)  (3) 2025.08.06
[C#] SOLID 원칙 (1 : S/SRP)  (3) 2025.08.05
[C#] 스프라이트 라이브러리(Sprite Library), Sprite Resolver  (2) 2025.07.30
[C#] Queue 자료형, 자료 구조  (1) 2025.07.29
[C#] 구조체 (struct)  (7) 2025.07.28