except 절에서 변수를 감소시킬 때 특별한 동작이 있습니까? sid
은 예외 조항에 처음 들어갈 때까지 계속 증분을 계속 수행하며 그 다음에 루프는 for
루프의 나머지 기간 동안 동일한 값을 유지합니다. (105 개) 시도 중try-except에서 감소시 Python 불명확 동작
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
해결 다음 쿼리 2가 발생 후에는 최초의 예외 첫 번째 쿼리가 (동일한) IntegrityError를 발생시키는 것입니다. 그리고 콜린이 말한 것처럼 앞뒤로 움직입니다.
안녕하세요, 예외가 throw 될 때 감소시키지 않으려 고했지만 ID의 틈이 생겼습니다. Execute query2 (테이블 (열)에 고유 인덱스가있을 때) 예외가 throw됩니다. – Mirko
"query2 실행 (테이블 (열)에 고유 인덱스가있는 경우)"이라는 말에 혼란스러워합니다. 그냥 query2에서오고있다, 다음 try/except 그냥 query2 주위에 넣고 시도 밖에서 증가를 이동합니다. – Colleen