C#: return null vagy throw exception?
A fő szempont, hogy hol és hogyan akarod kezelni a hibát, ill. hogy valóban hiba-e, vagy csak egy infó a hívónak.
Ha nullt adsz vissza, azt csak a hívó fél fogja tudni kezelni, de ha kivételt dobsz, akkor az felfelé fog adódni a kivételkezelő hierarchián, amíg valaki nem kezeli.
Ahogy a második mondja. Kivételt akkor érdemes dobni, ha 1) ez tényleg egy hiba, egy kivételes esemény 2) nem tudod, hogy a hívó fél tudja-e kezelni azt.
Egy nullvektor önmaga normálisa, tehát akár visszaadhatod önmagát (vagy egy másolatát) is, ez nem egyértelmű. Neked kell eldönteni, hogy ez nálad hibaesemény-e.
Megközelítheted a klienskód szempontjából is, mert valószínűleg nem egy nagy általános libet írsz: amikor merőleges vektort számoltatsz, milyen megoldás lenne a praktikusabb nullvektor esetén?
Köszi a válaszokat!
Lehet akkor inkább a hiba dobós verzió lesz. Ki tudja a jövőben ki mire akarja majd használni a kódomat. Mondjuk nem konkrétan a feladatra levetítve érdekelt az elv, hanem általánosságban is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!