import sqlite3

conn = sqlite3.connect("database.db")

cursor = conn.cursor()

try:

cursor.execute("INSERT INTO loctions VALUES('Hogwarts', 'Scotland'")

cursor.execute("INSERT INTO characters VALUES('Albus', 'Dumbledore')")

conn.commit()

except sqlite3.OperationalError:

print "Oops! This was an operational error. Try again..."

except sqlite3.NameError:

print "Name Error"

except sqlite3.ValueError:

print "value error"

except sqlite3.IOError:

print "IO error"

conn.close()

我想弄清楚上面的代码是否有效。也就是说,在我的“try”子句之后是否可以有多个异常?在

当我通过输入'python'运行这个文件名.py,我看到“哦!这是一个操作错误。再试一次……”印在我的终端上。在

这是有意义的,因为我拼错了第一个表的名称(位置而不是位置),所以这是一个操作错误。在

但我对如何强制执行名称错误或值错误感到困惑。在

我的操作子句,除了“我的错误”在“我的错误”中也有注释

^{pr2}$

这是说不存在sqlite3.namererror?然而sqlite3.OperationalError是一件事。在

如何发现错误类型?在

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐