EOFError 클래스
EOFError 클래스
일부 IO 연산이 파일의 끝에 도달했을 때 발생하는 예외예요. 많은 IO 메서드는 파일 끝에 닿으면 nil을 돌려주는 형태와 EOFError를 던지는 형태, 두 가지로 나뉘어 있어요.
EOFError는 IOError의 서브클래스예요.
file = File.open("/etc/hosts")
file.read
file.gets #=> nil
file.readline #=> EOFError: end of file reached
file.close
출처: Ruby 3.3 API
본문
gets처럼 조용히 파일 끝을 알려주는 메서드와 달리, readline처럼 EOFError를 던져서 파일 끝을 알리는 메서드가 있어요. 그래서 파일을 끝까지 읽는 프로그램을 짤 때는 어떤 메서드가 예외를 던지는지를 미리 알아 두는 게 좋아요. 반복적으로 한 줄씩 읽다가 EOFError가 나오면 파일을 다 읽은 것으로 판단할 수 있거든요.