diff --git a/worlds/AutoWorld.py b/worlds/AutoWorld.py index 763b450b..a74d88d1 100644 --- a/worlds/AutoWorld.py +++ b/worlds/AutoWorld.py @@ -98,7 +98,17 @@ class AutoLogicRegister(type): def call_single(multiworld: "MultiWorld", method_name: str, player: int, *args: Any) -> Any: method = getattr(multiworld.worlds[player], method_name) - return method(*args) + try: + ret = method(*args) + except Exception as e: + message = f"Exception in {method} for player {player}, named {multiworld.player_name[player]}." + if sys.version_info >= (3, 11, 0): + e.add_note(message) # PEP 678 + else: + logging.error(message) + raise e + else: + return ret def call_all(multiworld: "MultiWorld", method_name: str, *args: Any) -> None: