C#ban hogy van a kivételkezelés?
try-ba ami szerinted problémás lehet a kódban, pl valószínűleg hibás adatot visznek föl a userek. Mondjuk szöveget akarnak "alma" számmá alakítani. Ekkor a catch-be írhatsz egy szöveget, hogy heyho, csak számot. Finally statementbe pedig egy olyan kódot írhatsz, ami minden esetben lefut, ha van hiba, ha nincs. Továbbá catch-be írhatsz paramétert, egy kivételtípust. Ebből kinyerheted a hiba tipusát. Több catch-et íhatsz egymás után, különféle hibatípusokra beállítva. A paramétereket nem muszáj névvel azonosítani, elég csak tipusát írni, ha nem akarsz belőle információt nyerni. Pl:
try {
...
} catch {
...
}
Ez a sima try-catch az összes kivétel esetén megakad.
try {
...
} catch(Exception e){
...
}
Ezzel is megakad az összes tipusú kivételre, viszont az e változóba teszi az információkat róla.
try {
...
} catch(NullPointerException) {
...
} catch(DivideByZeroException) {
...
} catch {
...
} finally {
...
}
Ha nullpointer kivétel történik akkor csinál valamit, ha nullaosztás kivétel akkor csinál egy másik valamit, lekezeli az egyéb fel nem sorolt kivételeket és a finally-ba írt utasításokat elvégzi bármi áron.
További 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!