如何捕获mysql_异常操作错误:python中的2002

2024-06-16 12:07:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python脚本将mosquito消息添加到MySQL表中,这一切都很好,我正在捕捉MySQL_异常操作错误:(2006年,'MySQL server has been away')这样,如果超过12个小时没有消息,脚本就会继续运行,我会捕捉到重复的时间条目,这也会导致问题。在

问题是当MySQL服务器由于任何原因没有运行时,我希望脚本不更新数据库(因为它不能更新),并继续监听下一条消息。在

所以,基本上,我如何捕捉

_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")

这是我正在使用的完整代码

^{pr2}$

谢谢你的帮助。在

编辑:

错误似乎来自代码中的其他地方,而不是我查看的地方。我稍后会更新这篇文章的细节。在

我发现它试图把样本输出添加到这篇文章中,所以这里的帖子确实对我有帮助。在


Tags: 代码脚本消息server地方错误mysqlhas
1条回答
网友
1楼 · 发布于 2024-06-16 12:07:22

您的代码似乎有一个关于如何执行您所要求的操作的示例:

except mdb.Error as ee:
...

您别无选择,只能捕捉异常类型并检查字段中是否有所需的特定于mysql的错误代码,因为rdbms错误被包装在其中。在

来自官方文件MySQLdb User's Guide - MySQL-Python

There's no return value from this, but exceptions can be raised. The exceptions are defined in a separate module, _mysql_exceptions, but _mysql exports them. Read DB API specification PEP-249 to find out what they are, or you can use the catch-all MySQLError.

阅读文档是个好主意(总是)。在

相关问题 更多 >