ScriptError 클래스
ScriptError 클래스
LoadError, NotImplementedError, SyntaxError 때문에 스크립트를 실행할 수 없을 때 발생하는 오류들의 상위 클래스(superclass)예요. 이 ScriptError 계열은 StandardError가 아니어서, 명시적으로 지정하지 않으면(또는 그 조상인 Exception으로 지정하지 않으면) rescue로 잡히지 않아요.
출처: Ruby 3.3 API
본문
ScriptError는 스크립트가 로드되지 않거나(LoadError), 구현되지 않은 기능이 쓰이거나(NotImplementedError), 문법이 잘못됐을 때(SyntaxError) 나는 오류들의 공통 조상이에요.
이 오류들은 StandardError가 아니라는 점이 중요해요. 그래서 일반적인 rescue로는 잡히지 않고, 반드시 ScriptError나 Exception을 명시적으로 지정해야 잡을 수 있답니다.