Mercurial > cpython-lru_cache-weakref
view Doc/includes/sqlite3/ctx_manager.py @ 57114:d3a81051663b
importlib.test.source.util referenced variables in the 'finally' part of a
try/finally which may not have been set.
| author | Brett Cannon <bcannon@gmail.com> |
|---|---|
| date | Thu, 05 Nov 2009 01:17:22 +0000 |
| parents | 09053a7c1cdf |
| children | bc16d1300ee1 |
line wrap: on
line source
import sqlite3 con = sqlite3.connect(":memory:") con.execute("create table person (id integer primary key, firstname varchar unique)") # Successful, con.commit() is called automatically afterwards with con: con.execute("insert into person(firstname) values (?)", ("Joe",)) # con.rollback() is called after the with block finishes with an exception, the # exception is still raised and must be catched try: with con: con.execute("insert into person(firstname) values (?)", ("Joe",)) except sqlite3.IntegrityError: print("couldn't add Joe twice")
