Der Fehler:
NameError: name 'foo' is not defined
tritt auf, wenn man eine Variable nutzen möchte, die aber vorher nicht initialisiert wurde. So erzeugt folgender Code in Listing 1 den Fehler. Die korrigierte Fassung steht in Listing 2.
Listing 1
Download Code!
Listing 2
Download Code!
Listing 3
Download Code!
try:
print foo
print '1. Beispiel okay'
except NameError:
print '1. Beispiel fehlgeschlagen'
try:
print foo
print '2. Beispiel okay'
except NameError:
print '2. Beispiel fehlgeschlagen'
foo = 'bar'
try:
print '3. Beispiel okay'
except NameError:
print '3. Beispiel fehlgeschlagen'
Ausgabe Listing 3
1. Beispiel fehlgeschlagen
2. Beispiel okay
2. Beispiel fehlgeschlagen
3. Beispiel okay