Kezdőoldal » Számítástechnika » Programozás » Hogyan szokás használni a...

Hogyan szokás használni a try-catch blokkot?

Figyelt kérdés

Van értelme kiszervezni a try blokkban levő kódot egy másik metódusba csak azért, hogy átláthatóbb legyen az egész?


Próbálok mutatni egy kis pszeudokódot:


Alapeset:

Metódusszignatúra()

{

// Kódok...

}


Kivételkezelés:

Metódusszignatúra()

{

...try

...{

......// kódok

...}

...catch

...{

......// teendők kivétel esetén

...}

}


Ennek van-e értelme:


Metódusszignatúra()

{

...try

...{

......// Kódok()

...}

...catch

...{

......// teendők kivétel esetén

...}

}


Kódok() {}



Amikor try-catch blokkot használok, akkor alapvetően az szokott lenni a problémám vele, hogy egy hosszú katyvasz az egész, nem átlátható, nem áll rá a szem a lényegre. Persze lehet, hogy barom módon használom.


2019. máj. 24. 19:40
 1/10 anonim ***** válasza:
56%

Sajnos konkrét példa nélkül nehéz megmondani.

Nyilván van olyan eset amikor ez működik, mármint inkább úgy mondom, hogy haszon így csinálni. Sőt a try részbe általában "kevés" sor szokott lenni. De csak eztért nem kell kiszervezni szerintem egy metódusba.

De tényleg egyszerűbb lenne konkrét esetre tanácsot mondani.

2019. máj. 24. 19:48
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:

Például egy ilyet (C#):


List<string> list = new List<string>();

using (StreamReader reader = new StreamReader(Path.Combine(fPath,

currentFile)))

{

while (!reader.EndOfStream)

{

list.Add(reader.ReadLine());

}

}

return list;

2019. máj. 24. 19:52
 3/10 anonim ***** válasza:
56%
Szerintem itt teljesen felesleges különszervezni.
2019. máj. 24. 20:00
Hasznos számodra ez a válasz?
 4/10 A kérdező kommentje:
Az egész beolvasás mehet a try részbe?
2019. máj. 24. 20:02
 5/10 anonim ***** válasza:
56%
igen, csak arra vigyázz, hogy a listát a try-on kívül deklaráld.
2019. máj. 24. 20:04
Hasznos számodra ez a válasz?
 6/10 A kérdező kommentje:

Igen, elsőre nem úgy sikerült. :D Nem is én lennék.... :D



Akkor általában nem kell kiszervezni a try tartalmát egy külön metódusba?

Úgyis arra törekszik az ember, hogy egy metódusnak 1 feladata legyen, talán ennél sokkal hosszabb kódok nemigen vannak.

2019. máj. 24. 20:09
 7/10 anonim ***** válasza:
37%
Fordítva ülsz a lovon, nem a try-catch blokk miatt kell valamit külön metódusba szervezni, hanem mert a benne lévő kód önmagában kiszervezendő. Eköré csak odarakod a try blokkot, de nem az lesz az oka a kiszervezésnek.
2019. máj. 24. 20:21
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:
De ha önmagában nem kiszervezendő, mert sikeresen megoldottam, hogy immár 1 feladata legyen a metódusnak?
2019. máj. 24. 20:28
 9/10 anonim ***** válasza:
37%
Én csak akkor szoktam kiszervezni a metódusba dolgokat, amikor azt a kódrészt többször felhasználom, ez független a try-catch résztől.
2019. máj. 24. 23:58
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:
100%

A többiek azt elfelejtették mondani, hogy az exception dobásával és kezelésével sokkal egyszerűbb ott csinálni a hibakezelést, ahol akarod.


Értem ezt úgy, hogy ha egy függvényben három helyen kéne hibát csekkolni, akkor te megteheted azt a függvényen kívül, elkapva a kivételeket. De ennek akkor van több értelme, ha egy szekvenciában mondjuk több error keletkezhet ("Kódok" nevezetű rész a példádban)

2019. máj. 27. 23:45
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!