在 except 子句中减少变量时是否有任何特殊行为?
sid
一直递增,直到它第一次进入异常子句,然后它在for
循环的剩余时间内保持相同的值。
105 次尝试中有 7 次抛出异常
没有打印输出“Fehlercode:”,错误代码
这是我的代码:
for bid in range(bidStart, bidEnd + 1):
for syn in getSynsProBeitrag(bid):
try:
sid += 1
query = "INSERT INTO zuord (bid, hid, sid) VALUES(%s, %s, %s)"
cursor.execute(query, [bid, hid, sid])
query2 = "INSERT INTO synonyme (synonym) VALUE (%s)"
cursor.execute(query2, syn)
except MySQLdb.IntegrityError, message:
errorcode = message[0]
if errorcode == 1062:
sid -= 1
print sid
else:
print "Fehlercode:", errorcode
已解决:在 query2 抛出它的第一个异常之后,第一个查询也导致了一个(相同的)IntegrityError,然后它就像科琳说的那样来回移动