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

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

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  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. Experte (m/w/d) IT Governance
    Alte Leipziger Lebensversicherung a. G., Oberursel (bei Frankfurt am Main)
  2. Fachinformatiker (w/m/d) Schwerpunkt Microsoft Client, Server
    Computacenter AG & Co. oHG, verschiedene Standorte
  3. Servicetechniker (w/m/d) Applikations- / Shopfloor Support
    Bechtle Onsite Services GmbH, Salzgitter
  4. Java / Kotlin Developer*in (m/w/d)
    Haufe Group, Freiburg

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. MacBook Pro 14,2 Zoll M1 Pro 16GB 512GB SSD 14-Core-GPU für 2.249 Euro - Liefertermin "04...
  2. 144€ (Bestpreis)
  3. (u. a. Need for Speed: Heat - Standard Edition PC für 24,99€, Star Wars Jedi: Fallen Order PS5...
  4. (u. a. Adobe Photoshop & Premiere Elements 2022 für 110,90€, Asus ROG Strix Z590-A Gaming Wifi...


Haben wir etwas übersehen?

E-Mail an news@golem.de