Instanzierung eines Objekts abbrechen, Programm aber nicht?

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.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Instanzierung eines Objekts abbrechen, Programm aber nicht?

Beitragvon BlackVivi » Mittwoch 12. September 2007, 22:12

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...
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Beitragvon DatenMetzgerX » Mittwoch 12. September 2007, 22:27

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)
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Beitragvon BlackVivi » Freitag 14. September 2007, 23:35

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!...

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder