diff options
author | Kyomotoi <[email protected]> | 2022-06-09 22:30:38 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2022-06-09 22:30:38 +0800 |
commit | a8163fc8b97612793d3b55ebd4e90c61cd4ba77a (patch) | |
tree | 60e3d31eb6f9c795f5a06a3782a7390b4a40d46c | |
parent | 42167c84d335615c0a9f84cc977a7158ca70831b (diff) | |
download | ATRI-a8163fc8b97612793d3b55ebd4e90c61cd4ba77a.tar.gz ATRI-a8163fc8b97612793d3b55ebd4e90c61cd4ba77a.tar.bz2 ATRI-a8163fc8b97612793d3b55ebd4e90c61cd4ba77a.zip |
🚸 优化报错提示
-rw-r--r-- | ATRI/exceptions.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/ATRI/exceptions.py b/ATRI/exceptions.py index 4d52ff3..81a5f35 100644 --- a/ATRI/exceptions.py +++ b/ATRI/exceptions.py @@ -1,4 +1,3 @@ -import os import time import json import string @@ -10,13 +9,14 @@ from pydantic.main import BaseModel from nonebot.adapters.onebot.v11 import Bot from nonebot.message import run_postprocessor +from nonebot.exception import ActionFailed from .log import logger from .config import BotSelfConfig ERROR_DIR = Path(".") / "data" / "errors" -os.makedirs(ERROR_DIR, exist_ok=True) +ERROR_DIR.mkdir(parents=True, exist_ok=True) class ErrorInfo(BaseModel): @@ -96,14 +96,17 @@ async def _track_error( try: raise exception - except BaseBotException as Error: - prompt = Error.prompt or Error.__class__.__name__ - track_id = Error.track_id - except Exception as Error: - prompt = "Unknown ERROR->" + Error.__class__.__name__ + except BaseBotException as err: + prompt = err.prompt or err.__class__.__name__ + track_id = err.track_id + except ActionFailed as err: + prompt = "请参考协议端输出" + track_id = _save_error(prompt, format_exc()) + except Exception as err: + prompt = "Unknown ERROR->" + err.__class__.__name__ track_id = _save_error(prompt, format_exc()) - logger.debug(f"A bug has been cumming!!! Track ID: {track_id}") + logger.debug(f"Error Track ID: {track_id}") msg = f"呜——出错了...追踪: {track_id}" for superusers in BotSelfConfig.superusers: |