Hibakezelés Delphiben?
A hibákat ne globálisan kezeld, mert átláthatatlan lesz és idővel elszaporodnak a megtalálhatatlan bugok. Szépen a kritikus függvény köre teszel tryt, utánna hibaspecifikus catchet és minden jó lesz.
Ne gányolj, azt bárki tud.
De, tehetsz. A függvény specifikációjában szerepel, hogy milyen hibát dob és azt hogyan kell kezelni. Köréteszed, lekezeled, aztán minden heppi.
Vagy úgy gondolod, hogy az összes Delphis netes program gányolva van / errorokat dobál?
Dehogy gondolom így, csak nem vagyok egy tapasztalt ember delphiben, konkrétan egy hete tanulom, csak c#-ban megírtam jól ezt az emailes programot és szerettem volna delphiben is. Szal gyorsan elolvastam egy könyvet 2 nap alatt, hogy legyen vmi alap fogalmam és neki estem :$
Na miközben írtam pl ezt dobta ki: Temporary server error, please try again later. De ezt nem kivételként dobja, hanem kritikus üzenetnek, szal ezért nem értem, lehet hülye vagyok, de erről hogy tehetek én, ha ezt (vaslzeg) a gmail szerver válaszolja, szal vhogy ezt kéne lekezelni és hiába van try except blokkban az egész ugyanúgy kidobja.
C# után Delphit tanulsz? Nosztalgia?:)
Szerverek nem szoktak üzeneteket dobálni, ellenben a packetváró paranccsal.
Ha pästebinre feltöltöd a releváns kódrészletet talán tudunk segíteni.
Köszi szépen de végül sikerült megoldanom, ez volt a baj:
nekem ez volt írva (asszem):
except
on Exception e
.
.
.
end
és egyszerűen szintaktikailag helyes volt, de futás közben soha nem ugrott bele az except részbe bármi hiba történt.
Aztán kipróbáltam úgy, hogy csak sima except-et írok és utána a kód többi részét, és voala működött O.O
Szóval nem értem, hogy ha az Exceptet beteszem egy E változóba, (fel is használom az except után), akkor mért van szemantikai hiba, nagyon megköszönném ha ezt elmagyaráznád, mert már szétgugliztam az agyam de nem találtam magyarázatot :(
A jelenséget nem sikerült reprodukálnom, de találtam (ollóztam) egy egyszerű példaprogramot a kivételkezeléshez:
[link] ä->a
Itt kipróbálhatod:
Valószínűleg valamilyen másfajta hibát várt a hibakezelő részed - ha csak az 'except'-et írod, az mindet elkapja. Nem a leggyönyörűbb megoldás, de ha tesztelés után is jónak találod, nem nagy probléma.
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!