Exception durchreichen

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.
droptix
User
Beiträge: 521
Registriert: Donnerstag 13. Oktober 2005, 21:27

Exception durchreichen

Beitragvon droptix » Samstag 3. März 2007, 00:25

Ich möchte eine Exception abfangen, darauf reagieren und die abgefangene Exception dann nochmal auslösen, also quasi an den Code "durchreichen", der meinen Code benutzt. Ungefähr so:

Code: Alles auswählen

try:
    spam()
except Exception:
    # e.g. clean up and exit
    eggs()
    throw_exception(Exception)
    return


Wie macht man sowas?
dst
User
Beiträge: 27
Registriert: Mittwoch 28. Februar 2007, 23:42

Beitragvon dst » Samstag 3. März 2007, 00:53

Da ich selbst Python-Neuling bin, bin ich mir nicht hunderprozentig sicher, aber

Code: Alles auswählen

try:
    spam()
except Exception:
    eggs()
    raise


sollte glaube ich reichen.
droptix
User
Beiträge: 521
Registriert: Donnerstag 13. Oktober 2005, 21:27

Beitragvon droptix » Samstag 3. März 2007, 01:01

Sieht gut aus :D Danke!
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Beitragvon sape » Samstag 3. März 2007, 06:19

EDIT: Hab mich verlesen.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Beitragvon nkoehring » Samstag 3. März 2007, 06:36

droptix hat geschrieben:Sieht gut aus :D Danke!

Falls du evtl eine andere Funktion verwenden moechtest, kannst du die Exception auch uebergeben (ist ja wie alles andere in Python auch, ein Objekt) jederzeit werfen. Also beispielsweise so:

Code: Alles auswählen

def wirf(e): raise e

def funktion(**args):
    try: something()
    except Exception, e: wirf(e)


naja, sieht n bissl komisch aus... aber ist hoffentlich verstaendlich ^^

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]