Seite 1 von 1

aus funktion springen

Verfasst: Dienstag 15. Februar 2005, 15:25
von pr0stAta
Halli hallo,
ich hab in meinem programm ne art schleife die immer
funktionen aufruft. in einer der funktionen soll eine abbruchbedingung
stehen, die damit die schleife beendet. geht sowas? bis eben ging
sys.exit() gut, aber nun muss ich danach in eine andere funktion
reinspringen, daher bringt mich exit nicht weiter :)
gruss prosta

Verfasst: Dienstag 15. Februar 2005, 15:37
von jens
Also aus Funktionen kommst du mit return "raus". Eine For-Schleife wird mit break abgebrochen oder mit continue direkt fortgesetzt (IF-Abfrage)...

Verfasst: Dienstag 15. Februar 2005, 15:48
von BlackJack
Scheint ein Fall für eine Exception zu sein. Oder Du musst den Code anders schreiben.

Code: Alles auswählen

class MyException(Exception):
    pass

def foo():
    # ...
    if bedingung:
        raise MyException('Blah.')
    # ...

# ...
try:
    while True: # oder 'ne andere Schleife
        # ...
        foo()
        # ...
except MyException:
    pass
Wobei das jetzt vom konkreten Fall abhängt, ob das guter Stil oder ein übler Hack ist.

Verfasst: Dienstag 15. Februar 2005, 16:04
von pr0stAta
erstmal danke euch beiden.
ich denke mein stil ist wohl eher "übler hack" aber genau
sowas blackjack, habe ich gesucht :)