ugrás a tartalomhoz

The Scourge of Error Handling

Hidvégi Gábor · 2015. Feb. 22. (V), 10.17
Egyelőre nem létezik igazán jó hibakezelés
 
1

Exception

vbence · 2015. Feb. 22. (V), 20.42
... in Java, the conventional use of a null return both as an indicator of an error condition and as an actual data item

Manapság nem számít jó APInak ha egy függvény NULL-t ad vissza. A "checked exception" (kivétel amit kötelező elkapni) eszköze arra szolgál, hogy a hívó fél mindenképpen használjon catch blokkot - ezáltal elgondolkodva azon hogyan kezelje az esetet. Egy NULL ellenőztése könnyen elfelejthető.

I believe this is due to Google scale issues (recalling that Go was designed primarily to address Google development needs, rather than programming problems at large).

Vagyis a Go (szerinte) nem egy általános programozási nyelv, hanem egy, a Google feladataira optiamlizált eszköz. Ha ebben igaza van eleve értelmetlen összehasonlítani a C++ / Java párossal, amik teljesen általános programnyelvek.

But even in exception-based languages there is still a lot of code that tests returned values to determine whether to carry on or go down some error-handling path.

Erről nem vagyok meggyőződve. Legalább is ha zavaró méreteket kezd ölteni az mindenképpen tervezési hibára utal.

Amit hiányolok az az exceptionök hiányosságainak tárgyalása. Nem derül ki, hogy milyen problémát is old meg a Go által kínált hibakezelés.
2

Vagyis a Go (szerinte) nem

Hidvégi Gábor · 2015. Feb. 23. (H), 10.13
Vagyis a Go (szerinte) nem egy általános programozási nyelv, hanem egy, a Google feladataira optiamlizált eszköz
Eredetileg így tervezhették, de miután publikálták, szerintem már nem csak belsős eszköz.

Amit hiányolok az az exceptionök hiányosságainak tárgyalása.
Szerintem inkább az a probléma, hogy nagyon könnyű rosszul használni őket. Beküldtem egy másik blogmarkot is a témában, de a szerkesztők végül nem élesítették ki, ott a tipikus eseteket kifejtik, és hasonló konklúzióra jutnak, hogy hibakódokat érdemes visszaadni, mert nehezebb elrontani a kezelésüket (rögtön a hívó függvény után kell foglalkozni velük).
3

Beküldtem egy másik

Joó Ádám · 2015. Feb. 24. (K), 02.02
Beküldtem egy másik blogmarkot is a témában, de a szerkesztők végül nem élesítették ki


Nem emlékszem, hogy találkoztam volna ezzel, és nem látom, miért ne jelent volna meg, ha beküldted. Küldd be (újra).
4

Igazad van, tényleg sehol

Hidvégi Gábor · 2015. Feb. 24. (K), 10.05
Igazad van, tényleg sehol sincs nyoma, pedig meg mertem volna esküdni, hogy e blogmark előtt küldtem be közvetlenül.
5

Tervezés

vbence · 2015. Feb. 24. (K), 22.25
Eredetileg így tervezhették ...

Ez az ami számít. Legalább is az hogy később mássá mutálódott nem változtat a lényegen, vagyis ha lehet hinni a szerzőnek, akkor az exceptionöket főleg erőforrás követelmények / speciális toplógiai igények miatt hagyták ki. (Nem pedig "because they suck").

A másik blogmarkról nem nyilatkozom, de a szemöldökeim másfél napja vannak összeráncolva.