Hirdetés
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen Android TV boxot vegyek?
- Nikon Z MILC fényképezőgépcsalád
- Vezetékes FEJhallgatók
- Audiokultúra - Hi-Fi-ről hifisen
- Azonnali fotós kérdések órája
- Kormányok / autós szimulátorok topikja
- EUV-áttörés vagy marketingfogás? Lépeget előre Kína a felzárkózás rögös útján
- A foltozásra fókuszált az új GeForce driver
- Projektor topic
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
"csak amennyire tudom szeretném elkerülni a kivételeket"
Szerintem ez egyáltalán nem indokolt. Még ha a futási időhöz hozzá is teszel párszázadmásodpercnyit, a kivételkezelés akkor is ezerszer átláthatóbb hibakezelési forma, mint pl. a hatezer soros if-else blokkok. A kivételkezelésnél ezenkívül a saját kivételosztályaidat is felhasználhatod, az Exception osztály felülbírálásával, amibe tetszőleges kódot pakolhatsz, többek közt pl. naplózást, ami igen fontos lehet, és esetfüggő lehet, mit, hogyan és hova szeretnél naplózni. Viszont egy form esetén pl. nyilván nem naplózol, ha egy mezőt nem töltöttek ki. Ha az if-else blokkos megoldást választod, akkor viszont naplózási igény esetén azt valahogy bele kell tákolnod a blokkjaidba, nem marad egy szeparált helyen, ahogy pl. a kivételosztályaidat kigyűjtheted egy teljesen különálló fájlba. Nem beszélve arról, hogy a kivétel forrása (melyik sorban, melyik fájlban dobódott, stb.) nagyon könnyen felderíthető a kivétel elkapásakor, teljesen mindegy, hol, melyik függvényen belül dobtad el, azt a try-catch blokkban elkapod, majd lenyomozod, mi is volt a baj.
Egy szó, mint száz: a kivételkezelés szerintem épp, hogy nem egy kerülendő dolog, hanem érdemes alkalmazni.Egyébként pl. a PDO-nál is lehet "hagyományos úton" is hibákat kezelni, meg lehet úgy is inicializálni, hogy megmondod neki, hogy kivételeket dobjon, ne visszatérési értékeket kelljen vizsgálgatni, ami csak feleslegesen csinál a kódodból spagettikódot. Nem tudom, hogy vagytok vele, de én maradok a kivételkezelésnél.
-
modder
aktív tag
szerintem ez, hogy kivételt dobsz, vagy hogy kezeled le azt, ha nem talál a keretrendszered egy oldalt, az rajtad múlik. Általában ugye úgy működik egy mvc architektúrájú keretrendszer, hogy megkeresi az url vagy route alapján ráillő kontrollert.
Lehet az, hogy nincs meg a kontroller vagy nincs meg a kontroller által kiszolgálandó erőforrás, például cikk, termék.
Ha nem találja a kontrollert vagy az adott oldalt, cikket, akármit, amit beírt a felhasználó az url-be, akkor akár helyben is -- ott ahol kiderült, hogy nincsen sehol a kérdéses erőforrás -- küldhetsz az outputra egy 404-et, majd "szép leállást" produkálsz pl. zárod a logokat. Erre csinálhatsz egy függvényt vagy beleraod a response osztályodba, és hívsz egy iylet, hogy $this->response->out_404();
Így meg mindegy, hogy exception-t dobsz-e vagy helyben egy függvényen belül kezeled-e le a dolgokat, mert hiba esetén meghívni egy exception-t vagy egy függvényt ugyanannyi kódolás minden esetben, bár utóbbinál legalább nem operálsz exceptionökkel.
Új hozzászólás Aktív témák
- Horgász topik
- Januártól igényelhető a kiskorúak tartalomvédelme a mobilszolgáltatóknál
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen Android TV boxot vegyek?
- Nikon Z MILC fényképezőgépcsalád
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Magisk
- Autós topik
- Suzuki topik
- Vezetékes FEJhallgatók
- További aktív témák...
- Latitude 5520 27% 15.6" FHD IPS érintő i7-1185G7 16GB 256GB NVMe ujjlolv IR kam gar
- Lenovo Thinkpad T14 Gen3 14" FHD+ IPS i7-1265U 16GB 512GB NVMe gar
- Gamer PC-Ryzen 9 7800X3D+RX 9070 XT+32GB DDR5 +1 TB SSD+1000W GOLD +240 AIO/ Beszámítás
- Thinkpad P1 Gen5 16" 4K+ IPS i7-12800H RTX A4500 32GB 1TB NVMe ujjlolv IR kam gar
- ID Cooling Frozn A610 minden tartozékával, jótállással
- Assassin's Creed Shadows PS5 Játék
- GYÖNYÖRŰ iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3971, 94% Akkumulátor
- Bomba ár! HP ProBook 440 G5 - i5-8GEN I 8GB I 256GB SSD I HDMI I 14" FHD I Cam I W11 I Garancia!
- 123 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (ELKELT)
- 146 - 147 - 166 - 167 - 168 - 169 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


