try except finally

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

try except finally

Beitragvon alpha » Samstag 11. Oktober 2003, 22:54

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
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Samstag 11. Oktober 2003, 23:53

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
Benutzeravatar
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Beitragvon hans » Sonntag 12. Oktober 2003, 09:27

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"
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

super

Beitragvon alpha » Sonntag 12. Oktober 2003, 11:45

Danke, hat geklappt.

Wer ist online?

Mitglieder in diesem Forum: martinjo