"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;
}