1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › GnuTLS: Fehlerhafte Zertifikate…
  6. T…

So ein Fehler muss doch spätestens beim Kompilieren auffallen ...

  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


  1. Re: So ein Fehler muss doch spätestens beim Kompilieren auffallen ...

    Autor: Granini 04.03.14 - 19:48

    thomas001le schrieb:
    --------------------------------------------------------------------------------
    > Wie willst du sonst sowas machen, außer mit goto in C:
    >
    > {
    > if(!good) goto cleanup;
    > ..
    > if(!good2) goto cleanup;
    > ..
    > cleanup:
    > long_cleanup_code();
    > }

    Ich hätte C++ verwendet. Aber gut, bleiben wir mal bei C.
    Mit Goto sieht es so aus:
    doSomething()
    {
    if(!good1) goto cleanup;
    ..
    if(!good2) goto cleanup;
    ..
    cleanup:
    long_cleanup_code();
    }

    Was spricht dagegen es so zu machen?:
    doSomething()
    {
    if(!good1) return;
    ..
    if(!good2) return;
    ..
    }

    Und dort wo doSomething aufgerufen wird:
    doMore()
    {
    doSomething();
    cleanUp();
    }
    Nirgendwo sonst wird doSomething direkt aufgerufen (außer an der einen Stelle).
    Es wird nur doMore benutzt.

  2. Re: So ein Fehler muss doch spätestens beim Kompilieren auffallen ...

    Autor: aha47 04.03.14 - 21:20

    M.P. schrieb:
    --------------------------------------------------------------------------------
    > Die neue Schule ist ein try / catch mit einem throw ... an der Stelle, wo
    > jetzt das goto steht ;-)
    >
    > Das ist dann wieder die "reine Informatiker-Schule"

    Öhm, nein, definitiv nicht.

    http://c2.com/cgi/wiki?DontUseExceptionsForFlowControl

  3. Re: So ein Fehler muss doch spätestens beim Kompilieren auffallen ...

    Autor: zampata 05.03.14 - 01:43

    angeblich:
    [quote]
    The -Wunreachable-code has been removed, because it was unstable: it
    relied on the optimizer, and so different versions of gcc would warn
    about different code. The compiler still accepts and ignores the
    command line option so that existing Makefiles are not broken. In some
    future release the option will be removed entirely.
    [/quote]

    Leider gibt es keine Begründung für das entfernen der Option; nur eine Bestätigung dass dies Erfolgen wird.

    http://gcc.gnu.org/ml/gcc-help/2011-05/msg00360.html

  4. Re: So ein Fehler muss doch spätestens beim Kompilieren auffallen ...

    Autor: tendenzrot 05.03.14 - 09:23

    Auf gar keinen Fall. "Single Point of Return" und wenn ich dafür ein Goto verwenden müsste.

  5. Re: So ein Fehler muss doch spätestens beim Kompilieren auffallen ...

    Autor: M.P. 05.03.14 - 10:17

    Wobei der Codeschnipsel aus dem Artikel schon sehr nach Fehlerbehandlung aussieht...

    OT:
    Ich habe mal Code gesehen, wo bei einem Kommunikationsstack eine Art Lern-Prozedur für die auftretenden maximalen Puffer-Größen bei jedem Auftreten einer Pufferüberschreitung eine Exception geschmissen hat, die dann im Catch einen größeren Puffer allozierte.

    Hatte den Code von einem Kollegen zur Pflege geerbt, und war beim Ausprobieren des Codes erstmal für einen Vormittag auf der falschen Fährte, weil ich das für einen Fehler hielt...

  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Stadtverwaltung Kaiserslautern, Kaiserslautern
  2. Deutsches Patent- und Markenamt, Jena
  3. Hochland Deutschland GmbH, Heimenkirch, Schongau
  4. ADVANOVA GmbH, Schwaig bei Nürnberg

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. (u. a. The Elder Scrolls: Skyrim VR für 26,99€, Wolfenstein 2: The New Colossus für 11€, Prey...
  2. (u. a. Warhammer 40.000: Mechanicus für 12,99€, Project Highrise für 6,99€, Filament für 9...
  3. 32,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Battery Day: Wie Tesla die Akkukosten halbieren will
Battery Day
Wie Tesla die Akkukosten halbieren will

Größer, billiger und vor allem viel viel mehr. Tesla konzentriert sich besonders auf bessere und schnellere Akku-Herstellung.
Ein Bericht von Frank Wunderlich-Pfeiffer

  1. Drei Motoren Tesla Model S Plaid kommt in 2 Sekunden auf 100 km/h
  2. Grünheide Tesla und Gigafactory-Kritiker treffen aufeinander
  3. Big Brother Award Tesla als "dauernd aktive Datenschleuder" ausgezeichnet

Golem on Edge: Ein Sekt auf Glasfiber!
Golem on Edge
Ein Sekt auf Glasfiber!

Meine Datsche bekommt bald FTTH, darauf muss angestoßen werden! Das Verständnis für Glasfaser fehlt leider bei Nachbarn wie bei Kollegen.
Eine Kolumne von Sebastian Grüner

  1. EU-Kommission Glasfaser darf auch in Vectoringgebieten gefördert werden
  2. DNS:NET Cottbus bekommt Glasfaser
  3. Deutsche Telekom Gewerbegebiete bekommen bis zu 100 GBit/s

Streaming: Amazon zeigt zwei neue Fire TV Sticks
Streaming
Amazon zeigt zwei neue Fire TV Sticks

Amazon erweitert das Sortiment der Fire TV Sticks. Der Einstieg in die Streaming-Welt wird noch mal preisgünstiger.

  1. Streaming Neuer Fire TV Stick soll veränderte Fernbedienung erhalten