Java programmeerimise konspekt
püünis1...;
}
...
catch (Erinditüüp_n muutuja) {
püünis_n...;
}
finally {
epiloog...;
}
Võtmesõna try järel olev põhiblokk täidetakse n.-ö.
silumisrezhiimis. Kui selle bloki sees (s.h. meetodites, mille
poole otseselt või kaudselt pöördutakse) tekib mingi eriolukord,
siis suunatakse juhtimine esimesse niisugusesse püünisesse,
mis vastab tekkinud erindi tüübile ning seejärel
katsendidirektiivist välja. Seega on mõtet järjestada püünised
nii, et spetsiifilisemad erindiklassid töödeldaks eespool. Kui
esineb ka epiloog võtmesõna finally järel, siis see täidetakse
igal juhul (isegi siis, kui püünis sisaldab naasmisdirektiivi).
Püünise päises esinev muutuja on formaalne parameeter, mis
lubab viidata tekkinud erindile.
Näit.
import java.io.*;
...
try {
FileInputStream p =
new FileInputStream