【问题标题】:python mysql can't catch the exceptionpython mysql无法捕获异常
【发布时间】:2015-05-02 20:22:59
【问题描述】:

这是我的代码

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")

我已经知道异常、为什么会发生以及如何解决它。但是,我正试图抓住它。

如你所见,我做了两个级别的trycatch,但是,我的custom 错误消息没有出现。我刚刚收到异常状态,即尝试在这行代码MySQLdb.connect(... 中连接到我的 mysql 时出现异常,但我没有收到我的 custom 错误消息。

你能帮忙吗?

我在 Windows 7 和 64 位上使用 python 2.7

【问题讨论】:

  • try: 中没有MySQLdb.connect(),这似乎是引发异常的地方。

标签: python mysql python-2.7


【解决方案1】:

由于MySQLdb.connect() 方法引发了异常,您应该将其包含在try .. except 代码块中。

【讨论】:

    猜你喜欢
    • 2014-12-24
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 2021-09-17
    • 2021-10-03
    相关资源
    最近更新 更多