[Python-de] Re: Problem mit einer Schleife

Andreas Grytz agrytz at linux-user.de
Fri Sep 27 15:59:30 EDT 2002


On Fri, Sep 27, 2002 at 02:46:29PM +0200, holger krekel wrote:
> Andreas Grytz wrote:
> > On Fri, Sep 27, 2002 at 11:48:20AM +0000, Gerhard Häring wrote:
> > > Andreas Grytz wrote:
> > > > Jetzt passiert folgendes: Die Abfrage beendet sich erst, wenn ich drei
> > > > mal hintereinander "q" eingebe. Hat jemand daür eine Erklärung?
> > > 
> > > Mit q springst du aus einer Rekursionsebene hinaus. Du hast aber scheinbar
> > > vorher schon zwei Mal getURL() aufgerufen.
> > 
> > *die Hand vor den Schaedel schlag*
> > 
> > Umpf, na klar. Vielen Dank für die Erleuchtung.
> 
> Wenn du uebrigens aus einer Rekursion direkt ausbrechen willst, 
> kannst du auch den Exception-Mechanismus nutzen:
> 
>     class BailOut(Exception):
>         """ 'Exception' Class signalling end Recursion """
>         pass
> 
> und dann tief in einer Rekursion:
> 
>     raise BailOut, "eine message"
> 
> und dann natuerlich auf der start-ebene:
> 
>     except BailOut, obj:
>         print "program finished", obj
> 
Das ist natürlich schoen, wenn man moechte, dass das Programm m Falle
eines Abbruchs etwas von sich gibt. Aber das war hier garnicht
notwendig. Das Programmläuft nach dem Abbruch einfach in die nächste
Funktion weiter.

Aber ich werd's mir für die Zukunft merken ;)

Andreas

-- 
Andreas Grytz		| http://www.linux-community.de
Stefan-George-Ring 24	| Tel:	+49 (0) 89 993411-0
D-81929 München		| Fax:	+49 (0) 89 993411-99




More information about the Python-de mailing list