1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Umgang mit falschen Aufrufparametern bei Command-Line-Tools

  • daff
  • 28. März 2006 um 23:03
  • Unerledigt
  • daff
    14
    daff
    Mitglied
    Reaktionen
    11
    Punkte
    2.021
    Beiträge
    386
    • 28. März 2006 um 23:03
    • #1

    Hallo,

    die von euch, die Sysprog schon gemacht haben wissen sicher, wie es in der Unix-Welt Brauch ist, bei einem Command-Line-Tool mit falschen Aufrufparametern und Optionen umzugehen. Da wird im Wesentlichen eine usage-Meldung ausgegeben und das Programm terminiert.

    z.B.:

    Code
    void usage(const char* command_name)
    {
        fprintf(stderr, "Usage: %s -u user -f foo [-b bar] [-v].\n", command_name);
        exit(1);
    }


    oder sowas. Die wird aufgerufen, wenn z.B. mit über getopt() festgestellt wurde, dass eine mandatory Option fehlt, oder dass eine zuviel angegeben wurde.

    Jetzt wüsst ich gern, wie es in C++ gängige Praxis ist, mit sowas umzugehen? Bin selbst ziemlicher Newbie in C++, darum ist das vielleicht eine dumme Frage. Gibt es für sowas spezielle Arten von Exceptions, die sich dafür eignen, verwendet man normale Exceptions und schreibt da immer rein, wie das Programm aufgerufen zu werden hat (klingt zaach und unflexibel), oder wie geht man das an? Gibts dafür Richtlinien, oder kennt jemand ein Unix Command-Line-Tool, das in C++ geschrieben ist, dessen Source ich abklappern könnte? :)

    TIA!

    Restrain the specimen!

  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 29. März 2006 um 16:38
    • #2

    Ich bin kein C++-Philosoph, aber soweit ich das verstanden habe, verwendet man Exceptions in C++ wirklich nur für Ausnahmen. Anders als in Java, wo man "normale" Fehlerbehandlung über Exceptions macht, werden sie in C++ also echt nur für Sachen benutzt, die normalerweise nicht auftreten und also nicht erwartet werden.
    Daß ein User falsche Parameter angibt, ist zu erwarten, also nimmt man da ein normales if, keine Exception. Macht den Code sowohl kürzer als auch leichter verständlich.

    *plantsch*

  • Swoncen
    22
    Swoncen
    Mitglied
    Reaktionen
    1
    Punkte
    5.331
    Beiträge
    993
    • 29. März 2006 um 16:55
    • #3

    Ich verwende in C++ fast nie Exceptions.. sind viel langsamer als einfache Abfragen. In Java wirds oft gemacht, weil dort sowieso alles langsam ist =)

    640K ought to be enough for anybody. :eek2:

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung