Hlavní navigace

Názory k článku
Perličky: jednoduché výjimky

Jirka
Jirka (neregistrovaný)
27. 6. 2008 11:24 Nový

Otevirani/zavirani souboru...

celé vlákno
Pro to otevirani nebo zavirani souboru bych spise pouzil konstrukci:
open F, '>/etc/ahoj' or die 'Nemohu otevrit soubor /etc/ahoj!';
print F 'neco';
close F or die 'Nemohu zavrit soubor /etc/ahoj!';
Michal Svoboda
27. 6. 2008 12:55 Nový

Re: Otevirani/zavirani souboru...

celé vlákno
Ted nevim zda narazite na "open F" misto "open my $f" ... to bylo vysvetleno v nejakem predeslem dile o referencich. Nebo na to "or die ..." coz je vysvetleno v dnesnim clanku. Bud muzete poctive kazdou operaci kontrolovat na selhani, coz je dost otrava a zneprehlednuje to kod. Nebo si muzete rict ze neco selhat "nemuze" a popustit uzdu a pak riskujete ze se vam pripadna chyba bude propagovat dale v kodu. Konecne, a nejlepe, muzete pouzit vyjimky, a to bud pres modul Fatal a nebo pomoci I/O operaci ktere maji vyjimky jiz zabudovane.
Michal Svoboda
30. 6. 2008 18:09 Nový

Re: Otevirani/zavirani souboru...

celé vlákno
P.S. jeste me k tomu napada:

Pokud byste byl tvurce te funkce open (nebo jine, ktera muze potencialne selhat) tak nemate zadnou kontrolu nad tim, zda nejaky uzivatel to "or die" pouzije nebo ne. Pripadne ani nad tim do jake miry bude obsirny pri pripadne spovedi (ve vasem kodu neni ani $! - duvod chyby). Napriklad takova funkce "system" je dost brutus na analyzu navratove hodnoty.

Pomoci vyjimek muzete prave elegantne vyresit oboje dvoje. Vyjimky totiz nelze nevedomky ignorovat a duvod chyby do nich muze vlozit ta volana funkce a nikoliv aby to kazdy uzivatel sahodlouze analyzoval po svem.
Zasílat nově přidané příspěvky e-mailem