这是我的代码
self.conn = MySQLdb.connect(user='SomeUser', passwd='MySecruitPassword', db='scrapy', host='MySecruitHost', charset="utf8", use_unicode=True)
self.cursor = self.conn.cursor()
try:
self.cursor.execute(""" My secruit query """)))
self.conn.commit()
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
errorMessage = "Error on {0} : {1}".format(e.args[0], e.args[1])
self.sendEmail(errorMessage, "MySQL Exception 1")
except Exception as ee:
errorMessage2 = "Error on {0}".format(str(ee))
print errorMessage2
self.sendEmail(errorMessage2, "MySQL Exception 2")
我已经知道这个异常、为什么会发生以及如何解决它。不过,我正在努力捕获它。
如你所见,我做了两个级别的try
和catch
,但是我的自定义错误消息没有出现。我刚刚得到异常状态,在这行代码 MySQLdb.connect(...
中尝试连接到我的 mysql 时出现异常,但我没有收到自定义错误消息。
可以帮忙吗?
我在 Windows 7 和 64 位上使用 python 2.7
最佳答案
由于异常是由 MySQLdb.connect()
方法引发的,因此您应该将其包含在 try .. except
代码块中。
关于python mysql 无法捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30007070/