异常排除后继续循环

时间:2015-06-04 14:31:13

标签: python sql loops exception

我有一个try...except的循环:

try:
    for sqlcommand in sqlcommands:
        cursor.execute(sqlcommand)
except psycopg2.ProgrammingError as err:
    print "Programming error spotted. Message -->"
    print err

此循环在SQL中创建表。但我想在这里是否已经有表(生成编程异常),在异常下打印消息但是继续循环,而不是停止它。我可以这样做吗?

2 个答案:

答案 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