如何在异步Python Telegram机器人中对任何异常使用quit()?

0 投票
1 回答
60 浏览
提问于 2025-04-13 18:49

我用aiogram创建和更新Telegram机器人。有时候,当我的代码出错时,会出现Python异常。但是这个异常并不会停止整个脚本的运行,只是让机器人停止工作。

如果出现异常,机器人就会停止工作,但机器人的脚本仍然在运行。这时候我的Bash脚本不会重启机器人。这样一来,所有用户就得想办法通知我,并且要等我手动重启机器人脚本。

有没有办法让我的脚本在出现任何异常时自动调用quit()呢?怎么做?如果能同时把这个异常写入文件就更好了。

1 个回答

0

为了在遇到任何错误时退出并记录错误信息,可以把你机器人的主循环放在一个尝试-捕获的结构里。用 sys.exit(1) 来退出程序,使用 traceback.format_exc() 将错误信息写入一个文件。

撰写回答