Hirdetés

Új hozzászólás Aktív témák

  • pmonitor
    aktív tag

    Mondjuk ha folyamatosan Pascal példát hozol, akkor én meg azt mondom, hogy Try/Catch hiányában nem lehet (értelmesen) error handlinget csinálni Visual Basic 6 (és VBA / VBS-ben) Goto nélkül: [link]

    Most akkor egy platformon vagyunk, hogy tökre irreleváns magasszintű nyelvekben alkalmazott Goto megoldásokról vitatkozunk a C topikban?

    A megerőszakolt while ciklus sztem. egyértelműbb(ha ennél a példánál maradunk), mint a goto. Mert a while ciklus esetén kapásból látod, hogy itt f értékétől függő ciklusról van szó. Ráadásul ugye ott még a code syntax(behúzás) is segít a megértésben. Ha egy cimkét látsz, akkor azt nem tudhatod, hogy fentebbről jövő if, vagy else, vagy alulról jövő ciklustól téved-e oda a vezérlés. Ráadásul a cimkéknél nem nagyon van syntax(behúzás), illetve ha van, az meg még rosszabbul olvasható. Ugyanakkor a for-ban lévő goto esetén sem tudod egyből megmondani, hogy az előre, vagy hátra ugrik-e. Szóval a megerőszakolt while esetén egyből látszik a szerkezet, míg goto esetén nem.

    Azért a vb6/vba/vbs esetén amit linkeltél, az nem ugyanaz, mint a Try/Catch/Finally. Ezt is figyelembe kell venni. Egyébként ezek közül én csak az On Error Resume Next-et szoktam használni. De amit linkeltem, az a pascal program végén látható "A goto eredménye" című kép, az sztem abszolút nem nyelvfüggő. Másrészt meg én úgy tudom, hogy a C-t is a magas szintű nyelvek közé sorolják.

Új hozzászólás Aktív témák