( enpassant | 2015. 07. 13., h – 10:49 )

"Az első, amit kapásból ki fog a legtöbb fejlesztő hagyni, az az if err != nil... "
Az ilyenre általában jön warning és normális fejlesztési metodikánál a warning-okat sem illik a programban hagyni.

"ráadásul nincs annál rondább, amikor egy kódrész tele van ilyen vizsgálatokkal."
Ez így igaz, de ennél azért vannak szebb megoldási módok.
Pl. Scala esetén erre használható az Option, a Try (The Neophyte's Guide to Scala Part 6: Error Handling With Try), az Either (The Neophyte's Guide to Scala Part 7: The Either Type), a Validation (Functional Validation in Scala)

Egy jó slide a témában: Managing errors the right way in Scala.

Egy jó videó a témában: Bill Venners, Scalactic, SuperSafe, and Functional Error Handling, SF Scala

Ha az exception helyett egy alternatívát akarsz használni, akkor ugyanolyan csúnya, olvashatatlan lesz a kód, mint amit az if-ekre is írtál, pl.:


int value1;
int value2;

try {
  value1 = calcValue1()
} catch(CalculationException e) {
  value1 = 0;
}

try {
  value2 = calcValue2()
} catch(CalculationException e) {
  value2 = 0;
}