python versuchen, außer ein Fehler von Modulen, in denen nicht explizit importiert
Wenn ein Modul-Klassen ist nicht in meinem script aber von einem der Module (habe ich importiert explizit) wie fange ich seine Fehler?
Beispiel:
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"
Folge (wenn die Datenbank gesperrt ist):
NameError: global name 'sqlite3' is not defined
Aber wenn ich nicht den Fehler abzufangen, es gibt mir genau das, die Ausnahme: 'sqlite3.OperationalError'
Also was soll ich da Außer ? Oder sollte ich einfach importieren Sie die ganze sqlite3-Modul? Wenn ja, spielt dies nicht mehr die Ressourcen-Fußabdruck von meinem Programm?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja.
Nein -- das Modul importiert wird trotzdem. Alle Ihre
import
- Anweisung erfüllt ist, fügen Sie einen Verweis aufsqlite3
zu Ihrem Modul den globalen Namensraum.Setzen Sie die folgende Zeile am Anfang Ihres Programms:
erzählen Python zum verbinden mit dem Namen
sqlite3
mit dem Modul.Alternativ können Sie explizit importieren, die Fehlermeldung, die Sie fangen: