Seite 1 von 1

Instanzierung eines Objekts abbrechen, Programm aber nicht?

Verfasst: Mittwoch 12. September 2007, 22:12
von BlackVivi
Mein Problem ist schwierig zu erklären... Ich hoff' es ist verständlich.

Ich hab' eine Klasse erstellt, die bei der Initialisierung ein XML Datei ausliest. Beim erstellen einer neuen Instanz wird ein Key verlangt, falls dieser Key korrekt ist, steht in einem Node der XML Datei eine 0, falls irgendein Fehler ist eine andere Zahl. Falls nun eine andere Zahl kommt, soll das erstellen der Instanz abgebrochen werden, aber die Datei, in der die Instanz angelegt wird, soll mitkriegen das'n Fehler da ist.

Ich wüsste jetzt den Umweg über eine weitere Funktion die man aufrufen müsste, gibt es vielleicht einen schöneren und kürzeren Weg?... Im Moment wird einfach SystemExit() geraised, wenn der ValidationKey nicht korrekt ist... aber das is ja nicht Sinn der Sache wenn ich eine GUI für dieses Programm schreibe, sondern er soll mich ja dann nach einen richtigen fragen...

Verfasst: Mittwoch 12. September 2007, 22:27
von DatenMetzgerX
Dann raist du einfach sonst eine passende Exception und Fängst die mit try: catch MyException e:

ab

z.b.

Code: Alles auswählen

error = True
while error:
  try:
    myFunction()
    error = False
  except MyException e:
    print(e)

Verfasst: Freitag 14. September 2007, 23:35
von BlackVivi
Hab mir übrigen's dann noch eigene Exceptions für meine Klasse gebaut und die damit abgefangen, aber dein Post hat mir sehr geholfen, danke nochmal!...