python捕捉warning_MySQLdb抛出的Warning捕获不到?

该博客主要讨论在Python中使用MySQLdb模块执行SQL语句时遇到的警告和错误。作者首先展示了代码尝试执行SQL时触发的各种警告,包括默认值问题、UTF-8字符错误、字符串值不正确等。然后,通过修改警告处理方式,将警告级别设置为错误,捕获到部分错误信息,但仍有部分警告未被有效捕获。内容集中在MySQL数据库操作和Python编程的错误处理上。
摘要由CSDN通过智能技术生成

代码

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...' "之类的,还是没捕获

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值