Raku kurss / Objekti,
ievade/izvade un izņēmumi / Izņēmumi / Izņēmumu
pārtveršana ar try
Viktorīna — try
Ko izdrukā šī programma?
my $r = try {
die 'Boom!';
say 'inside';
};
say 'outside';| 1 | outside |
| 0 | inside |
| 0 | inside un tad outside |
| 0 | Boom! |
| 0 | kļūda |
Šeit notiek divas lietas. Pirmkārt, die uzreiz pārtrauc
atlikušo try bloka daļu, tāpēc rinda
say 'inside' netiek sasniegta nekad — no bloka iekšienes
netiek izdrukāts nekas. Otrkārt, tā kā try izņēmumu noķer,
pati programma neapstājas: izpilde turpinās aiz bloka, un
say 'outside' izpildās parastā kārtā. Tātad vienīgā
izdrukātā rinda ir outside. ($r būtu
nedefinēts, un paziņojums Boom! gaidītu $!, ja
tur ieskatītos.)
Kursa navigācija
← Risinājums:
Mēģinājums vai noklusētā vērtība | Fāzeris CATCH →