Seite 1 von 1

Exception durchreichen

Verfasst: Samstag 3. März 2007, 00:25
von droptix
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?

Verfasst: Samstag 3. März 2007, 00:53
von dst
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.

Verfasst: Samstag 3. März 2007, 01:01
von droptix
Sieht gut aus :D Danke!

Verfasst: Samstag 3. März 2007, 06:19
von sape
EDIT: Hab mich verlesen.

Verfasst: Samstag 3. März 2007, 06:36
von nkoehring
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 ^^