如何在异步Python Telegram机器人中对任何异常使用quit()?
我用aiogram创建和更新Telegram机器人。有时候,当我的代码出错时,会出现Python异常。但是这个异常并不会停止整个脚本的运行,只是让机器人停止工作。
如果出现异常,机器人就会停止工作,但机器人的脚本仍然在运行。这时候我的Bash脚本不会重启机器人。这样一来,所有用户就得想办法通知我,并且要等我手动重启机器人脚本。
有没有办法让我的脚本在出现任何异常时自动调用quit()
呢?怎么做?如果能同时把这个异常写入文件就更好了。
1 个回答
0
为了在遇到任何错误时退出并记录错误信息,可以把你机器人的主循环放在一个尝试-捕获的结构里。用 sys.exit(1)
来退出程序,使用 traceback.format_exc()
将错误信息写入一个文件。