Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Luck Dragon: Asszociációs játék. :)
- SzDavid99: Van 20 perced? Akkor tanulj meg koreait olvasni!
- GoodSpeed: Pillangóhatás: F billentyű meghibásodása -új gamer számítógépasztal
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Samus: Rhyme Project: Fénysebesség
- Real Racing 3 - Freemium csoda
- Elektromos rásegítésű kerékpárok
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
"Azt hiszem érthető voltam, de akkor leírom érthetőbben: amikor refaktorálod (átírod, javítod) a kódot, nem fogod tudni, hol dobtad az exceptiönt, amíg tényleg nem dobtál egyet.
Például van a form validáló osztályod, ami dobhat 4féle exception-t, te meg szeretnéd tudni, hol dobja, akkor legjobb esetben is ctrl+ffel keresel rá. Ha pedig a stacktrace-t akarod használni, ahhoz generálnod kell egy olyan hibát, ami ezt az exceptiont dobja."
Azt hiszem, én is érthető voltam, amikor leírtam, hogy egy általános jellegű Exception elkapásával minden kivételt el lehet kapni, és a kivétel keletkezésének módjáról mindent meg lehet tudni. Ha azt szeretnéd megtudni, hol dobja, és egész addig nem tudod, amíg nem keletkezett egy pontosan olyan specifikus hiba, akkor valóban az a megoldás létezik, hogy generálsz olyan hibát, vagy rákeresel. És? Nem értem a logikádat, ez miben tér el attól, ha te mondjuk ragaszkodsz a hibatömbös megoldásodhoz. Ha a hibatömbös hibakezelés forrásaira szeretnél rátalálni, akkor még a klasszikus exceptionökre vonatkozó backtrace-es megoldás sem áll a rendelkezésedre, de szerencsére mivel a PHP elég kényelmes nyelv, még erre is igénybe lehet venni egy plusz segítséget (kicsit mintha a bal kezeddel vakarnád meg a jobb füledet a tarkód mögül): debug_backtrace().
Még egy dolog: ha definiálsz saját exception osztályokat, akkor azoknak többnyire elég normális, egyedi neve van.
Pl. legyen épp ValidationException a neve.
Mondjuk ennek eldobása egy egyszerű globális fv.-en belül így néz ki:function blabla(){
// .......
if( $hiba_van ){
throw new ValidationException( 'ezért meg azért' );
}
// .......
}a Te megoldásod meg valami ehhez hasonló:
function blabla(){
// .......
if( $hiba_van ){
$errorArray['status'] = FALSE;
$errorArray['msg'] = 'ezért meg azért';
return $errorArray;
}
// .......
}Ha már Te mindenhol az ugyanilyen jellegű hibatömbös megoldást alkalmazod, és Ctrl+F-es módszer, akkor szerintem több esély van gyorsan megtalálni a throw new ValidationException részt.

De a tömbös megoldást továbbra sem kínál beépítetten backtrace megoldást."Nyilván, ha valaki idiótán programoz, arra nincsen mentség."
Ez önmagában igaz. De arra, amire reagáltál, ez valahogy kicsit sántít. Pl. ha már újrafelhasználásról beszélünk, nem tudom, valakinek miért kellene kitalálnia, hogy a kódot elkészítő illető pontosan milyen tömbindexeket használt. Ja, hát nézze át az egész kódot, ha már szar a dokumentáció, hisz' bár a függvényt készítő ember nem ért rá odaírni három sort, ha három kivételt dob a fv. elejére, de a kódot felhasználó illető majd nyilván rá fog érni átnézni a komplett kódot. Itt pedig ez az indexeléses módszer nem biztos, hogy olyan intuitív megoldás, hogy ránézésre, már az első példa láttán lehet tudni, hogy mi is a helyzet többféle alkalmazásnál.
Új hozzászólás Aktív témák
- AMD Navi Radeon™ RX 9xxx sorozat
- Borderlands 4
- Miskolc és környéke adok-veszek-beszélgetek
- Milyen monitort vegyek?
- Huawei P40 Pro - kilökték a célegyenesben
- World of Tanks - MMO
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- A fociról könnyedén, egy baráti társaságban
- Battlefield 6
- Autós topik
- További aktív témák...
- Ryzen 7 kezdő 1080p játszós konfig
- iPhone 15 Pro Max kék titán 256 GB kártyafüggetlen 1 év garanciával ELADÓ
- ASUS ROG Flow Z13 (2025) GZ302EA-RU004W - 3 év garancia - GYÁRI, MAKULÁTLAN ÁLLAPOT!!
- BESZÁMÍTÁS! ASUS B660M i5 12400F 16GB DDR4 1TB SSD RTX 3070 8GB Zalman T4 Plus Cooler Master 750W
- BESZÁMÍTÁS! Asrock B450M R7 3800X 16GB DDR4 512GB SSD RX 6600XT 8GB GameMax STORM Black Adata 600W
- Asus TUF Gaming F15 FX507 - 15,6"FHD 144Hz - i5-12500H - 8GB - 512GB SSD - RTX 3050 - 1 év garancia
- AKCIÓ! Intel Core i9 14900K 24 mag 32 szál processzor garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 12 mini 64GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3054, 96% Akkumulátor
- Bomba ár! Lenovo ThinkPad T460P - i7-6820HQ I 8GB I 256SSD I Nvidia I 14" FHD I Cam I W11 I Gari!
- HIBÁTLAN iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3670 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest


