当一个模块类不在我的脚本中,但被其中一个模块使用时(我确实显式地导入了),我如何捕获他的错误?
例如:
from sqlite3 import dbapi2 as sqlite
class sqldb:
def __init__(self):
self.sqlite.connect('records.db')
self.c = self.conn.cursor()
def query(self,query,values)
try:
self.c.execute(query, values)
self.conn.commit()
except sqlite3.OperationalError:
print "SQLite DB locked"
将导致(当数据库被锁定时):
NameError: global name 'sqlite3' is not defined
但当我没有捕捉到错误时,它会给我一个异常:“sqlite3.operationaleror”
那我该怎么说呢?还是只导入整个sqlite3模块?如果是,这不增加我的程序的资源占用吗?
将以下行放在程序的顶部:
告诉Python将名称
sqlite3
与模块关联。或者,可以显式导入捕获的错误:
是的。
不——模块还是导入的。您的
import
语句所做的一切就是向模块的全局命名空间添加对sqlite3
的引用。相关问题 更多 >
编程相关推荐