我有一个try...except
的循环:
try:
for sqlcommand in sqlcommands:
cursor.execute(sqlcommand)
except psycopg2.ProgrammingError as err:
print "Programming error spotted. Message -->"
print err
此循环在SQL中创建表。但我想在这里是否已经有表(生成编程异常),在异常下打印消息但是继续循环,而不是停止它。我可以这样做吗?
答案 0 :(得分:2)
您只需更改try
声明的顺序:
for sqlcommand in sqlcommands:
try:
cursor.execute(sqlcommand)
except psycopg2.ProgrammingError as err:
print "Programming error spotted. Message -->"
print err
在这种情况下,在迭代循环时,对于每个查询,try except
块将运行,如果发现错误,则主for
循环迭代仍然有效。
答案 1 :(得分:1)
for sqlcommand in sqlcommands:
try:
cursor.execute(sqlcommand)
except psycopg2.ProgrammingError as err:
print "Programming error spotted. Message -->"
print err