简体   繁体   English

Python 2.7 中的 MySQLdb 错误处理

[英]MySQLdb Error Handling in Python 2.7

Im pretty new to Python and have an SQL Insert statement that throws an exception due a to primary key violation:我对 Python 非常陌生,并且有一个 SQL Insert 语句,该语句由于主键冲突而引发异常:

File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 202, in execute
self.errorhandler(self, exc, value)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.IntegrityError: (1062, "Duplicate entry 'Y31 ROB' for key 'PRIMARY'")

How do you handle this error, so if it is thrown it exits the function?你如何处理这个错误,所以如果它被抛出它会退出函数?

I have tried:我试过了:

try:
    webcur.execute("INSERT INTO foo VALUES bar")
except (MySQLdb.Error):
    return

and also:并且:

except (MySQLdb.IntegrityError)

but neither seem to work.但似乎都不起作用。

Try assigning it to a variable like so:尝试将它分配给一个变量,如下所示:

try:
    webcur.execute("INSERT INTO foo VALUES bar")
except MySQLdb.Error as e:
    return

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM