( enpassant | 2019. 10. 30., sze – 09:35 )

Igazából itt sincs nagyon hibakezelés, de fogjuk rá!
Így még egyszerűbb:

socket.write(data);
socket.write('\n');

Aztán valami majd elkapja a hibát vagy nem, de egyszerűnek látszik.

Ha hiba esetén újra akarod küldeni valamelyiket akkor máris nem lesz olyan egyszerű.

A hibaflagesnél ránézésre látod, hogy egy-egy sornál van-e hibakezelés vagy nincs (jó vagy rossz az más kérdés, de van-e valami). Az előző példádnál a 3. után volt egy if, ott volt valami "hibakezelés", az első kettőnél semmi.
Az én mostani példámnál nem látszik, hogy bármelyik is lenne hibakezelve, bár lehet, hogy valahol van valamelyik hívási ágon, akár mindegyiken. A mostani példádnál látszik, hogy van valami, de az nem, hogy melyiket kezeli, az sem, hogy egyik kezelése elfedi-e a másikat. Nem látszik, hogy a catch ág az első sor miatt van-e ott, a második miatt vagy mindkettő miatt vagy tök feleslegesen, mert egyik sem dobhat hibát.

Az egyszerűnek látszik és az egyszerű az nagyon nem ugyanaz.

A "buta" (egyszerű) dolgoknak, mint a hibaérték visszaadás,  az "okos" (bonyolult) dolgokkal szemben, mint az Exception, az a legfőbb előnyük, hogy gondolkodásra késztetnek és segítik a jó desgin kialakítását.
1. Itt visszajön egy hiba, de ezzel itt nem tudok semmit kezdeni,
2. akkor visszaadom itt is hibakódként,
3. de itt nem adhatok vissza hibakódot az interface miatt,
4. akkor ide már úgy kellene érkeznie, hogy itt nem keletkezik hiba,
5. a hívó részt át kell dolgozzam.

Az így átgondolt problémák miatt egyre jobb lesz a program felépítése, mert már feljebb, ahol tud is mit kezdeni vele a kód, kezeli a hibát és feleslegesen nem küld le hibát adó dolgokat. (Mellékesen gyorsabb is lesz és kevesebb erőforrást használ.)

Ugyanez Exception-nél így néz ki:
1. Itt visszajön egy hiba, de ezzel itt nem tudok semmit kezdeni,
2. tovább dobom, majd fent kezdenek vele valamit.

Így meg egyre rosszabb lesz a felépítés, egyre több olyan hiba dobódik lent, amire a felső szintek nem készültek. Minél régebbi a kód, annál nehezebb lesz hozzányúlni.