MySQLdb抛出的Warning捕获不到?

代码

            try:
                cursor.execute(sql)
            except Warning:
                print 11111111111111111111111111
            except MySQLdb.Warning:
                #sqlWarning = "Warniwng:%s" % str(w)
                print "Error saving resource.", sys.exc_info()[0]
                print title
                print identifier
            except MySQLdb.Error, e:
                print 2222222222222222
            except:
                print 33333

结果:
liststruaname.py:33: Warning: BLOB/TEXT column 'DESCRIPTION' can't have a default value
cursor.execute(sql)
liststruaname.py:72: Warning: Invalid utf8 character string: 'F0A48A'
cursor.execute(sql)
liststruaname.py:72: Warning: Incorrect string value: 'xF0xA4x8AxB9xE7xBA...' for column 'CREATOR' at row 1
cursor.execute(sql)
liststruaname.py:72: Warning: Data truncated for column 'IDENTIFIER' at row 1
cursor.execute(sql)
liststruaname.py:72: Warning: Invalid utf8 character string: 'F0A4A5'
cursor.execute(sql)
liststruaname.py:72: Warning: Incorrect string value: 'xF0xA4xA5xBBxE8xBF...' for column 'CREATOR' at row 1
cursor.execute(sql)
liststruaname.py:72: Warning: Invalid utf8 character string: 'F0A7A7'
cursor.execute(sql)
liststruaname.py:72: Warning: Incorrect string value: 'xF0xA7xA7x8CxE9x9C...' for column 'CREATOR' at row 1
cursor.execute(sql)
liststruaname.py:72: Warning: Invalid utf8 character string: 'F0A187'
cursor.execute(sql)
liststruaname.py:72: Warning: Incorrect string value: 'xF0xA1x87xAAxE5xA4...' for column 'TITLE' at row 1
cursor.execute(sql)
liststruaname.py:72: Warning: Invalid utf8 character string: 'F0A498'
cursor.execute(sql)
liststruaname.py:72: Warning: Incorrect string value: 'xF0xA4x98xBDxE4xBB...' for column 'TITLE' at row 1
cursor.execute(sql)
liststruaname.py:72: Warning: Invalid utf8 character string: 'F0AA98'
cursor.execute(sql)
liststruaname.py:72: Warning: Incorrect string value: 'xF0xAAx98xA8xE6xB3...' for column 'TITLE' at row 1
cursor.execute(sql)
liststruaname.py:72: Warning: Invalid utf8 character string: 'F0A6BC'
cursor.execute(sql)
liststruaname.py:72: Warning: Incorrect string value: 'xF0xA6xBCxAExE5x96...' for column 'TITLE' at row 1
cursor.execute(sql)
liststruaname.py:72: Warning: Invalid utf8 character string: 'F0A499'
cursor.execute(sql)
liststruaname.py:72: Warning: Incorrect string value: 'xF0xA4x99x96xE4xBE...' for column 'TITLE' at row 1
cursor.execute(sql)
liststruaname.py:72: Warning: Incorrect string value: 'xF0xA4x98xBDxE9xAC...' for column 'TITLE' at row 1
cursor.execute(sql)

经过楼下的提醒,加上了更改warnings级别,现在的代码为:

from warnings import filterwarnings
filterwarnings('error', category = MySQLdb.Warning)

            try:
                cursor.execute(sql)
            except MySQLdb.Warning, w:
                print w
            except MySQLdb.Error, e:
                print e
            except:
                print 33333

现在打印内容为:
Invalid utf8 character string: 'F0A48A'
Invalid utf8 character string: 'F0A4A5'
Invalid utf8 character string: 'F0A7A7'
Invalid utf8 character string: 'F0A187'
Invalid utf8 character string: 'F0A498'
Invalid utf8 character string: 'F0AA98'
Invalid utf8 character string: 'F0A6BC'
Invalid utf8 character string: 'F0A499'
Invalid utf8 character string: 'F0A498'

捕获了一些信息,但是形如“Warning: Incorrect string value: 'xF0xA4x8AxB9xE7xBA...' "之类的,还是没捕获

阅读 3.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题