ScriptError 클래스

ScriptError 클래스

LoadError, NotImplementedError, SyntaxError 때문에 스크립트를 실행할 수 없을 때 발생하는 오류들의 상위 클래스(superclass)예요. 이 ScriptError 계열은 StandardError가 아니어서, 명시적으로 지정하지 않으면(또는 그 조상인 Exception으로 지정하지 않으면) rescue로 잡히지 않아요.

출처: Ruby 3.3 API

본문

ScriptError는 스크립트가 로드되지 않거나(LoadError), 구현되지 않은 기능이 쓰이거나(NotImplementedError), 문법이 잘못됐을 때(SyntaxError) 나는 오류들의 공통 조상이에요.

이 오류들은 StandardError가 아니라는 점이 중요해요. 그래서 일반적인 rescue로는 잡히지 않고, 반드시 ScriptErrorException을 명시적으로 지정해야 잡을 수 있답니다.