"break all" oder "break 5"?



  • Hi. Ich habe mehrere verschachtelte Schleifen. In einer der inneren Schleifen tritt nun ein gewollter Fehler auf und ich zeige diesen an und möchte eine bestimmte Anzahl von Schleifen verlassen. Gibt es dafür eine elegante Möglichkeit die mir bisher verborgen blieb oder eine entsprechende VCL Funktion?

    Momentan setze ich von den vorherigen Schleifen den jeweiligen Zähler am höchsten und setze dahinter break. Ein "break 5" wäre genial, um die 5 inneren Schleifen abzubrechen und mit der darüber liegenden weiterzuarbeiten. Auch ein "break all" wäre sicher hier und da nicht verkehrt. 🙂

    Vielleicht kennt ja hier wer was entsprechendes?



  • Nimm entweder ein goto oder pack den Teil mit deinen 5 inneren Schleifen in eine eigene Funktion, aus der du dann einfach mit return rausspringst.

    Und ja, ein break mit Argument hört sich echt nett an!



  • _matze schrieb:

    Und ja, ein break mit Argument hört sich echt nett an!

    hört sich nach (Visual)BASIC an 😮



  • Hallo

    - Pack deine Schleifen in eine extra Funktion und beende diese mit return
    - Falls der Fehler wirklich gravierend ist, wirf eine Exception (kannst ja noch extra try-catch um die Schleifen legen)

    bis bald
    akari



  • Quick & Dirty:
    Kannst auch die Schleifenvariablen alle auf INT_MAX setzen, damit ist das Abbruchkriterium für die Schleife wohl erfüllt.

    Sauber:
    Kann mich meinen Vorrednern nur anschliessen, lager die Schleife in eine Funktion aus und brich mit return ab.


Anmelden zum Antworten