Java beidzot bloķē ir bloks, ko izmanto svarīga koda izpildei, piemēram, savienojuma slēgšanai utt.
Visbeidzot, Java bloks vienmēr tiek izpildīts neatkarīgi no tā, vai izņēmums tiek apstrādāts vai nē. Tāpēc tajā ir visi nepieciešamie paziņojumi, kas jādrukā neatkarīgi no tā, vai izņēmums ir noticis vai nē.
Pēdējais bloks seko try-catch blokam.
Visbeidzot bloka blokshēma
Piezīme. Ja neveicat izņēmumu, pirms programmas pārtraukšanas JVM izpilda beigu bloku (ja tāds ir).
Kāpēc izmantot Java beidzot bloķēt?
- beidzot Java bloku var izmantot, lai ievietotu satīrīt ' kodu, piemēram, faila aizvēršanu, savienojuma aizvēršanu utt.
- Svarīgos izdrukas, kas jādrukā, var ievietot beigu blokā.
Beidzot Java izmantošana
Apskatīsim dažādus gadījumus, kad beidzot var izmantot Java bloku.
1. gadījums: ja nenotiek izņēmums
Apskatīsim zemāk redzamo piemēru, kur Java programma neizmet nekādu izņēmumu, un pēdējais bloks tiek izpildīts pēc mēģinājuma bloka.
TestFinallyBlock.java
class TestFinallyBlock { public static void main(String args[]){ try{ //below code do not throw any exception int data=25/5; System.out.println(data); } //catch won't be executed catch(NullPointerException e){ System.out.println(e); } //executed regardless of exception occurred or not finally { System.out.println('finally block is always executed'); } System.out.println('rest of phe code...'); } }
Izvade:
2. gadījums: ja notiek izņēmums, bet to neapstrādā uztveršanas bloks
Apskatīsim aizpildīšanas piemēru. Šeit kods rada izņēmumu, taču uztveršanas bloks to nevar apstrādāt. Neskatoties uz to, pēdējais bloks tiek izpildīts pēc mēģinājuma bloka un pēc tam programma tiek pārtraukta neparasti.
TestFinallyBlock1.java
public class TestFinallyBlock1{ public static void main(String args[]){ try { System.out.println('Inside the try block'); //below code throws divide by zero exception int data=25/0; System.out.println(data); } //cannot handle Arithmetic type exception //can only accept Null Pointer type exception catch(NullPointerException e){ System.out.println(e); } //executes regardless of exception occured or not finally { System.out.println('finally block is always executed'); } System.out.println('rest of the code...'); } }
Izvade:
3. gadījums: ja notiek izņēmums un to apstrādā nozvejas bloks
Piemērs:
Apskatīsim šādu piemēru, kur Java kods rada izņēmumu un uztveršanas bloks apstrādā izņēmumu. Vēlāk pēdējais bloks tiek izpildīts pēc try-catch bloka. Turklāt pārējais kods tiek izpildīts normāli.
TestFinallyBlock2.java
public class TestFinallyBlock2{ public static void main(String args[]){ try { System.out.println('Inside try block'); //below code throws divide by zero exception int data=25/0; System.out.println(data); } //handles the Arithmetic Exception / Divide by zero exception catch(ArithmeticException e){ System.out.println('Exception handled'); System.out.println(e); } //executes regardless of exception occured or not finally { System.out.println('finally block is always executed'); } System.out.println('rest of the code...'); } }
Izvade: