Seite 1 von 1

try except finally

Verfasst: Samstag 11. Oktober 2003, 22:54
von alpha
Hallo zusammen,

ich habe ein Problem mit try except finally
Ich bekomme in folgender Funktion

Code: Alles auswählen

def ShowAllCDs():
	TextMatches.delete(1.0,"end")
	oldcdnr = ""
	data = Inidata(0)
	mf.config(cursor="watch")
	try:
		fz = open(data.dbname)
		dbfile = fz.readlines()
		LabelState["text"] = "searching..."
		for i in dbfile:
			#cut characters before the first space char
			cdnr = i.split(' ')[0]
			if cdnr != oldcdnr:
				TextMatches.insert("end",cdnr)
				oldcdnr = cdnr
	except IOError:#print gPath
		tkMessageBox.showerror("File-Error", "Could not open file: " + data.dbname)
	except:
		tkMessageBox.showerror("Error", "Unexpected error when reading database" + data.dbname)
	finally:
		LabelState["text"] = "Ready"
		mf.config(cursor="arrow")
folgenden Fehler:
File "<string>", line 98
finally:
^
SyntaxError: invalid syntax

Hat jemand eine Idee, an was das liegen kann.
Danke schonmal für eure Hilfe.

Alpha

Verfasst: Samstag 11. Oktober 2003, 23:53
von Dookie
Hi alpha,

pydoc sagt mir unter Anderem folgendes
There are two forms of try statement: try...except and try...finally.
These forms cannot be mixed (but they can be nested in each other).
Das sagt soviel wie try...except und try...finally können nicht gemischt verwendet werden. Also entweder except oder finally, bei except kann auch eine else-klausel folgen.


Gruß

Dookie

Verfasst: Sonntag 12. Oktober 2003, 09:27
von hans
Aber man kann kauch schachteln

Code: Alles auswählen

#!/usr/bin/python

try:
  try:
    print "Morgens um sieben ist die Welt noch in Ordnung"
    print 5 / 0
  except:
    print "ein Fehler ist aufgetreten"
finally:
  print "ich werde auf jeden Fall ausgeführt"

super

Verfasst: Sonntag 12. Oktober 2003, 11:45
von alpha
Danke, hat geklappt.