fix(interpreter): catch KeyError instead of IndexError

This commit is contained in:
2026-02-05 23:38:26 +01:00
parent f2e996aaa9
commit 90d9f89bce

View File

@@ -17,7 +17,7 @@ class Environment:
def get(self, name: Token) -> Any: def get(self, name: Token) -> Any:
try: try:
return self.values[name.lexeme] return self.values[name.lexeme]
except IndexError: except KeyError:
if self.enclosing is not None: if self.enclosing is not None:
return self.enclosing.get(name) return self.enclosing.get(name)
raise PebbleRuntimeError(name, f"Undefined variable '{name.lexeme}'.") raise PebbleRuntimeError(name, f"Undefined variable '{name.lexeme}'.")