Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

kurz und knapp :

das wochenende ist vorbei und es lauern wiedermal ganz viele fragen, die die troja nicht alleine hinbekommt ;)

ich hab ja immenroch mein tolles programm *fg*

mit case-anweisungen. aber wie springe ich von einer case-anweisung ganz raus aus dem programm, so dass es sich beendet...

is bestimmt super simple..aber ich komm mal wieder nicht drauf

das ist aber nicht sauber programmiert!!!

wie wärs wenn du die case Anweisung mit Break verlässt (evt noch nen Merker setzt) und nach der Switch Anweisung dann auf nen bestimmten Wert oder sonst was abprüfst... dann kannst du main() auch ganz sauber mit return verlassen (und vorher natürlich auch noch alle Aufräumarbeiten erledigen...)

... meiner Meinung nach ...

MfG Roman

Hallo,

Original geschrieben von CrazyRay

das ist aber nicht sauber programmiert!!!

Kommt drauf an, bei einfachen Funktionen kann man vielleicht noch mit einem break und einem Marker arbeiten. Aber versuch das mal, wenn Du den Rückgabe-Wert noch durch 20 andere Schleifen, Funktionsaufrufe, Switch-Anweisungen und IF-Statements schleppen musst.

Im Zweifelsfall kann man seine Aufräumfunktionen mit atexit() oder on_exit() registrieren.

Ein return in main macht übrigens auch nichts anderes als exit mit dem return-Wert aufzurufen.

Nic

exit() hin oder her - man kann mehrere Ansätze verfolgen. Ich z.B. würde mit Exceptions arbeiten sauber und leicht!

Ausserdem kann man dem exit() eine Zahl übergeben, mit was abgebrochen werden soll!

Wenn man in seinem Code sich bereiche macht, wie

#define READERROR 100

#define WRITEERROR 200

usw.

und dann immer mit exit(WRITEERROR ); das Programm verlässt.

Kann man diese Werte sogar per Script abfragen und weiß warum er abgeschmirt bzw. aus dem Programm gegegangen ist. :D


// gibt -1 zurück im Fehlerfalle
inf foo()
{
switch(bar)
{
case 1:
case 2:
case 3:
case 4:
break;
case n:
return -1;
}

viele viele ANweisungen später (die ohnehin in eine andere Funktion sollten).

}


// wird Exception

inf foo()
{
switch(bar)
{
case 1:
case 2:
case 3:
case 4:
break;
case n:
throw std::runtime_error("Was auch immer");
}

viele viele ANweisungen später (die ohnehin in eine andere Funktion sollten).

}
[/php]

Wo ist da das Problem ?

Mit exit() riskiert man nur unnötig leaks.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.