Pangunahing Pagkakaiba – Naka-check vs Hindi Naka-check Exception sa Java
Ang isang exception ay isang runtime error. Mayroong dalawang uri ng mga exception na kilala bilang checked at unchecked exception. Kapag may nasuri na pagbubukod, ang Java application ay konektado sa isang panlabas na mapagkukunan tulad ng isang file, device o database. Ang mga pagbubukod na ito ay sinuri ng compiler. Ang ilang mga halimbawa ng mga naka-check na exception ay IO exception at FileNotFound exception. Kapag nangyari ang isang hindi naka-check na exception, ang application ay hindi konektado sa anumang panlabas na mapagkukunan. Ang mga pagbubukod na ito ay hindi sinusuri ng compiler. Ang ilang mga halimbawa ng mga hindi naka-check na exception ay ang Arithmetic Exception at ArrayOutOfBound Exception. Tinatalakay ng artikulong ito ang pagkakaiba sa pagitan ng checked at unchecked exception sa Java. Ang pangunahing pagkakaiba sa pagitan ng naka-check at hindi naka-check na exception sa Java ay ang isang naka-check na exception ay sinusuri ng compiler habang ang isang hindi naka-check na exception ay hindi naka-check ng compiler.
Ano ang Checked Exception sa Java?
Kapag may nasuri na pagbubukod, ang Java application ay konektado sa isang panlabas na mapagkukunan. Ang mapagkukunang ito ay maaaring isang aparato tulad ng printer. Ito ay maaaring isang file o isang database. Samakatuwid, ang mga pagbubukod na iyon ay sinuri ng compiler. IO exception ay isang checked exception. Nangyayari ito dahil sa isang error sa device. Kapag ang application ay nag-a-access ng isang file na hindi umiiral, pagkatapos ay magdudulot ito ng pagbubukod ng FileNotFound. Ang isang application ay maaaring konektado sa isang database tulad ng MySQL, Oracle atbp upang mag-imbak ng data. Kung may naganap na error na nauugnay sa isang database, ito ay magiging isang SQL Exception. Iyan ang ilang halimbawa ng mga nasuri na exception. Sa lahat ng ito, ang application ay konektado sa isang panlabas na mapagkukunan. Sa mga naka-check na exception, ipinag-uutos na pangasiwaan ang exception. Kung hindi ito mahawakan, ang tamang daloy ng programa ay wawakasan, at ang file ng klase ay hindi mabubuo. Maaaring hawakan ang error gamit ang try, catch block.
Figure 01: Sinuri ang Exception Handling
Ayon sa itaas, ang FileReader ay nagbabasa ng data mula sa file. Ang text1.txt file ay hindi umiiral sa tinukoy na lokasyon. Ang code na maaaring magbigay ng pagbubukod ay inilalagay sa loob ng try block. Ang mensaheng ipi-print ay nasa loob ng catch block. Dahil walang file na tinatawag na text1.txt, nagdudulot ito ng FileNotFoundException. Sa pamamagitan ng paggamit ng exception handling, ang mensahe ay naka-print sa screen.
Ano ang Unchecked Exception sa Java?
Ang mga hindi naka-check na exception ay hindi sinusuri ng compiler. Hindi tulad sa mga naka-check na exception, na may mga hindi naka-check na exception, ang Java application ay hindi nakakonekta sa isang panlabas na mapagkukunan tulad ng file, database o isang device. Ang ilang karaniwang hindi naka-check na exception ay Arithmetic, ArrayOutOfBound at NullPointer Exceptions.
int a=10, b=0;
int div=a/b;
System.out.println(div);
Magdudulot ito ng pagbubukod sa aritmetika dahil sa pagsisid sa 'a' ng zero. Sumangguni sa code sa ibaba.
Figure 02: Arithmetic Exception Handling
Ayon sa programa sa itaas, ang variable a ay isang integer value. Ang variable b ay 0. Ang dibisyon ng dalawang numerong ito ay isang divide sa zero. Samakatuwid, magdudulot ito ng pagbubukod sa aritmetika. Maaari itong hawakan gamit ang try-catch block. Ang mga pahayag na maaaring maging sanhi ng pagbubukod ay inilalagay sa loob ng try block. Ang mensaheng ipapakita ay nasa catch block.
Sumangguni sa ibaba ng piraso ng code.
int array1={1, 2, 3, 4, 5};
System.out.println(array1[5]);
Magdudulot ito ng exception. Ang array1 ay isang array na may 5 elemento. Ang panimulang index ng array ay zero. Ang pagpi-print ng 5th na halaga ng index ay nagdudulot ng pagbubukod dahil wala na ito sa hangganan. Ang maximum index ng array1 ay 4.
Figure 03: ArrayOutOfBound Exception Handling
Ayon sa programa sa itaas, ang array1 ay may 5 elemento. Ang pag-print ng elemento na may index 6 ay magdudulot ng exception dahil wala na ito sa hangganan. Ang maximum na index na maaaring maimbak sa array1 ay 5. Ang mensahe ng error ay nagpi-print sa pamamagitan ng pagsasagawa ng catch block.
Ano ang Pagkakatulad sa Pagitan ng Checked at Unchecked Exception sa Java
Parehong Naka-check at Hindi Naka-check na Exception sa Java ay mga uri ng exception sa Java
Ano ang Pagkakaiba ng Checked at Unchecked Exception sa Java?
Checked vs Unchecked Exception sa Java |
|
Ang may check na exception ay isang runtime error na sinusuri ng compiler. | Ang walang check na exception ay isang runtime error na hindi sinusuri ng compiler. |
Pangyayari | |
Kapag may nasuri na exception, ang Java application ay konektado sa isang panlabas na mapagkukunan gaya ng file, device o database. | Kapag naganap ang isang hindi naka-check na exception, hindi nakakonekta ang Java application sa isang panlabas na mapagkukunan. |
Mga Halimbawa | |
Ang IOException, FileNotFoundException, SQLException ay ilang halimbawa ng mga naka-check na exception. | Ang arithmetic exception, ArrayOutOfBoundException, NullPointerException ay ilang halimbawa ng hindi na-check na exception. |
Buod – May check vs Unchecked Exception sa Java
Ang pagbubukod ay isang kaganapan na nakakaabala sa pagsasagawa ng daloy ng programa. Mayroong dalawang uri ng mga pagbubukod. Ang mga ito ay tinatawag na mga naka-check na exception at hindi naka-check na mga exception. Tinalakay ng artikulong ito ang pagkakaiba sa pagitan ng may check na exception at unchecked exception. Ang pagkakaiba sa pagitan ng checked at unchecked exception sa Java ay ang checked exception ay sinusuri ng compiler habang ang unchecked exception ay hindi sinusuri ng compiler. Dahil ang mga pagbubukod ay nakakaapekto sa tamang daloy ng pagpapatupad ng programa, ito ay isang mahusay na kasanayan sa programming upang mahawakan ang mga ito.