summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2023-05-09 16:54:34 +0800
committerKyomotoi <[email protected]>2023-05-09 16:54:34 +0800
commit477df2dccc15f2763490cf55fa51dabf5bd8143b (patch)
tree59625c7936103860f85c2bed45ffa1878103c498
parenta41c99e41ae4ab313d416a9da802d8d09b1f73d7 (diff)
downloadATRI-477df2dccc15f2763490cf55fa51dabf5bd8143b.tar.gz
ATRI-477df2dccc15f2763490cf55fa51dabf5bd8143b.tar.bz2
ATRI-477df2dccc15f2763490cf55fa51dabf5bd8143b.zip
🎨 优化输出
-rw-r--r--ATRI/exceptions.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/ATRI/exceptions.py b/ATRI/exceptions.py
index 4504b07..bc09ce6 100644
--- a/ATRI/exceptions.py
+++ b/ATRI/exceptions.py
@@ -40,9 +40,9 @@ def _save_error(prompt: str, content: str) -> str:
return track_id
-def load_error(track_id: str) -> dict:
+def load_error(track_id: str) -> ErrorInfo:
path = ERROR_DIR / f"{track_id}.json"
- return json.loads(path.read_bytes())
+ return ErrorInfo.parse_file(path)
class BaseBotException(Exception):
@@ -111,10 +111,12 @@ async def _(bot: Bot, event, matcher: Matcher, exception: Optional[Exception]):
return
try:
- raise exception
+ prompt = exception.__class__.__name__
+ track_id = _save_error(prompt, format_exc())
+ log.warning(f"Ignore Exception: {prompt}")
except BaseBotException as err:
prompt = err.prompt or err.__class__.__name__
- track_id = err.track_id
+ track_id = _save_error(prompt, format_exc())
log.warning(f"BotException: {prompt}")
except ActionFailed as err:
prompt = "请参考协议端输出"