Încercați să blocați în sfârșit blocuri în Java

Pentru a face un program Java cât mai robust, trebuie să poată gestiona excepții. Compilatorul își face partea prin a nu vă permite să compilați un program până când acesta nu este corect sintactic și poate evidenția, de asemenea, excepții verificate care trebuie gestionate. Dar excepțiile care pot provoca cele mai multe dureri de cap sunt cele care apar odată ce programul rulează. Pentru a ajuta la gestionarea acestor excepții, limbajul Java oferă blocurile try-catch-finalment.

Încercați Block

încerca
bloc conține toate declarațiile care ar putea provoca o excepție. De exemplu, dacă citiți date dintr-un fișier utilizând fișierul
FileReader
clasa, este de așteptat să te descurci
IOExceptions
asociate cu utilizarea unui
FileReader
obiect, de exemplu,
FileNotFoundException
și
IOException
. Pentru a vă asigura că acest lucru se întâmplă, puteți plasa declarațiile care se ocupă de crearea și utilizarea
FileReader
obiect din interiorul unui
încerca
bloc: Totuși, codul este incomplet deoarece, pentru ca excepția să fie tratată, avem nevoie de un loc pentru a fi prins. Acest lucru se întâmplă în

catch block.The Block Block

captură
bloc (e) oferă un loc pentru a gestiona excepția aruncată de enunțurile din cadrul unui
încerca
bloc.
captură
blocul este definit direct după
încerca
bloc. Trebuie să specifice tipul de excepție pe care îl gestionează. De exemplu,
FileReader
obiectul definit în codul de mai sus este capabil să arunce a
FileNotFoundException
sau un
IOException
. Putem specifica două
captură
blocuri pentru a gestiona ambele excepții: În
FileNotFoundExceptioncatch
blocăm am putea plasa cod pentru a cere utilizatorului să găsească fișierul pentru noi și apoi să încerce să citească din nou fișierul. În
IOException
prinde bloc, s-ar putea să transmitem utilizatorului eroarea de E / S și să le cerem să încerce altceva. Oricum, am oferit o modalitate prin care programul poate capta o excepție și să o gestioneze într-un mod controlat.
În Java SE 7, a devenit posibilă gestionarea mai multor excepții într-una
captură
bloc. Dacă codul am dori să-l plasăm în cele două
captură
blocurile de mai sus erau exact aceleași în care am putea scrie codul astfel: În schimb, pentru a face un pic de menaj în ceea ce privește resursele, putem adăuga un bloc în sfârșit. La urma urmei, vrem să lansăm fișierul pe care l-am citit odată ce am terminat.

În sfârșit Block

Instrucțiunile din blocul final sunt întotdeauna executate. Acest lucru este util pentru curățarea resurselor în cazul executării blocului try fără o excepție și în cazurile în care există o excepție. În ambele cazuri, putem închide fișierul pe care l-am folosit. 

În sfârșit, blocul apare imediat după ultimul bloc de capturare: