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 ("/etc/passwd"); byte[] sisu = new byte [p.available()]; p
· Ilma argumentideta · Kutsub välja ülemklassi ilma argumentideta konstruktori Klassi Object on selline ilmutatult · Väärtustamata isendiväljadele vaikeväärtused int 0 String null 9. Loeng Erindid Erind (ingl. k. exception) · sün. erandolukord · Programmi töö käigus tekkida võiv selline eriolukord, mis ei pruugi tingimata olla saatuslik programmi edasisele täitmisele · Tüüpilisematele juhtudele on olemas vastavad süsteemsed erindiklassid · Erindi tekkimisel luuakse vastava erindiklassi isend, mis on abiks eriolukorda analüüsivas programmiosas Milleks on erindeid vaja? · Kõike ei õnnestu täpselt ette näha · Ebaootuspärane käitumine (ootuspäraselt ebaootuspärane!?) · Ohtlike kohtade analüüsimiseks peab infot koguma · Selleks, et paremini - tagada süsteemi kestev töö; hoida andmeid riknemise eest Javas Tõrked (java.lang.Throwable) 1. vead (java.lang.Error) 2. erindid (java.lang