Új hozzászólás Aktív témák
-
modder
aktív tag
válasz
Sk8erPeter #8994 üzenetére
Én csak ezzel nem értek egyet:
a kivételkezelés akkor is ezerszer átláthatóbb hibakezelési formaKivételkezelést akkor érdemes használni, amikor egy mély hívássorozat alján keletkezik valahol egy kivételes hiba, és ezt sokkal fentebbi függvényben akarod lekezelni. Ilyen például az adatbázis absztrakciós rétegekben egy mysql hiba, ami, ha jó a kódod, ritkán fordul elő, és általában elég csak annyira foglalkozni vele, hogy loggolod.
Vissza a fenti mondathoz. Ha a kivételkezelést általános programozási gyakorlattá teszed, annak megvan az a hátránya, hogy később, ha ránézel a kódra, nem biztos, hogy fogod tudni, hogy a kivételedet hol dobod (ahogy említetted, amíg ténylegesen nem történt ilyen exception, akkor stacktrace), és amikor refaktorálod a kódot, fogni fogod a fejed.
Még egy dolog.
Ha az osztályodat majd újra fel akarod használni, nem szabad megfeledkezni arról, hogy milyen kivételeket dobhat. Amíg jól van dokumentálva a kódod, addig nem biztos, hogy fejtörést fog okozni, de ha már kevesebb időt töltesz a dokumentálással, valahol újra fel akarod használni a kódodat, szintén fogni fogod a fejed, mert fejlesztés során olyan exceptionöket fog dobálni az osztályod, amire nem számítottál korábban, és újra meg újra le kell őket kezelni. Nem is beszélve arról, hogy az exceptiönök szaporodhatnak, ahogy az osztályod egyre többet tud.Ezt a Dependency Injectionhöz tudom hasonlítani. Ott arról van szó, hogy bizonyos műveleteknek vannak előfeltételei, előfeltétel objektumai, és addig átlátható, amíg a függvények bemenetein megjelennek ezek az előfeltételek, mert addig nyomonkövethető a kdóban az előfeltétel.
Egy szó, mint száz. Nem érdemes általános gyakorlattá tenni a kivételek dobálását. Form validálásnál még talán elmegy. De ezt is lehet hit kérdéssé tenni, nem muszáj rám hallgatni
Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3340
- Telefon felvásárlás!! Honor 90 Lite/Honor 90/Honor Magic5 Lite/Honor Magic6 Lite/Honor Magic5 Pro
- GYÖNYÖRŰ iPhone 12 Pro 128GB Graphite - 1 ÉV GARANCIA - Kártyafüggetlen, MS3258,100% Akkumulátor
- HIBÁTLAN iPhone 14 Pro 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3515, 100% Akkumulátor
- iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3086, 94% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest