Java-da belgilangan va belgilanmagan istisnolar o'rtasidagi farq

Mundarija:

Java-da belgilangan va belgilanmagan istisnolar o'rtasidagi farq
Java-da belgilangan va belgilanmagan istisnolar o'rtasidagi farq

Video: Java-da belgilangan va belgilanmagan istisnolar o'rtasidagi farq

Video: Java-da belgilangan va belgilanmagan istisnolar o'rtasidagi farq
Video: Burda jurnali klassikasi Trench palto namunasini ko'rib chiqish / Burda jurnali / Trench palto 2024, Noyabr
Anonim

Asosiy farq – Java’da tekshirilgan va tekshirilmagan istisno

Istisno ish vaqtidagi xatodir. Belgilangan va belgilanmagan istisnolar deb nomlanuvchi ikki turdagi istisnolar mavjud. Belgilangan istisno sodir bo'lganda, Java ilovasi fayl, qurilma yoki ma'lumotlar bazasi kabi tashqi manbaga ulanadi. Ushbu istisnolar kompilyator tomonidan tekshiriladi. Tekshirilgan istisnolarning ba'zi misollari IO istisnosi va FileNotFound istisnosidir. Tekshirilmagan istisno yuzaga kelganda, ilova hech qanday tashqi manbaga ulanmagan. Bu istisnolar kompilyator tomonidan tekshirilmaydi. Tekshirilmagan istisnolarning ayrim misollari arifmetik istisno va ArrayOutOfBound istisnolaridir. Ushbu maqolada Java-da tekshirilgan va belgilanmagan istisnolar o'rtasidagi farq muhokama qilinadi. Java-da tekshirilgan va belgilanmagan istisno o'rtasidagi asosiy farq shundaki, tekshirilgan istisno kompilyator tomonidan tekshiriladi, tekshirilmagan istisno esa kompilyator tomonidan tekshirilmaydi.

Java-da tekshirilgan istisno nima?

Tekshirilgan istisno yuzaga kelganda, Java ilovasi tashqi manbaga ulanadi. Ushbu resurs printer kabi qurilma bo'lishi mumkin. Bu fayl yoki ma'lumotlar bazasi bo'lishi mumkin. Shuning uchun, bu istisnolar kompilyator tomonidan tekshiriladi. IO istisnosi tekshirilgan istisno hisoblanadi. Bu qurilmadagi xato tufayli yuzaga keladi. Ilova mavjud bo'lmagan faylga kirganda, u FileNotFound istisnosiga sabab bo'ladi. Ilova ma'lumotlarni saqlash uchun MySQL, Oracle va boshqalar kabi ma'lumotlar bazasiga ulanishi mumkin. Agar ma'lumotlar bazasi bilan bog'liq xatolik yuzaga kelsa, bu SQL istisnosi bo'ladi. Bu tekshirilgan istisnolarning ba'zi misollari. Bularning barchasida dastur tashqi manbaga ulangan. Belgilangan istisnolarda istisno bilan ishlash majburiydir. Agar u ishlanmasa, dasturning to'g'ri oqimi to'xtatiladi va sinf fayli yaratilmaydi. Xatoni try, catch bloki yordamida hal qilish mumkin.

Java-da tekshirilgan va belgilanmagan istisnolar o'rtasidagi farq
Java-da tekshirilgan va belgilanmagan istisnolar o'rtasidagi farq

01-rasm: Belgilangan istisnolardan foydalanish

Yuqoridagilarga ko'ra, FileReader fayldan ma'lumotlarni o'qiydi. Belgilangan joyda text1.txt fayli mavjud emas. Istisnoni berishi mumkin bo'lgan kod try blokiga joylashtirilgan. Chop etish uchun xabar catch blokida joylashgan. Text1.txt deb nomlangan fayl yo'qligi sababli, bu FileNotFoundExceptionni keltirib chiqaradi. Istisnolardan foydalanish orqali xabar ekranga chop etiladi.

Java-da belgilanmagan istisnolar nima?

Belgilanmagan istisnolar kompilyator tomonidan tekshirilmaydi. Belgilangan istisnolardan farqli o'laroq, belgilanmagan istisnolar bilan Java ilovasi fayl, ma'lumotlar bazasi yoki qurilma kabi tashqi manbaga ulanmagan. Arifmetik, ArrayOutOfBound va NullPointer istisnolari.

int a=10, b=0;

int div=a/b;

System.out.println(div);

Bu “a” ni nolga tushirish tufayli arifmetik istisnoga olib keladi. Quyidagi kodga qarang.

Java_Figure 02 da tekshirilgan va tekshirilmagan istisno o'rtasidagi farq
Java_Figure 02 da tekshirilgan va tekshirilmagan istisno o'rtasidagi farq

02-rasm: Arifmetik istisnolardan foydalanish

Yuqoridagi dasturga koʻra, a oʻzgaruvchisi butun son qiymatdir. b o'zgaruvchisi 0. Bu ikki sonning bo'linishi nolga bo'linishdir. Shuning uchun u arifmetik istisnoga olib keladi. Buni try-catch bloki yordamida boshqarish mumkin. Istisnoga olib kelishi mumkin bo'lgan iboralar try blokiga joylashtirilgan. Ko'rsatiladigan xabar catch blokida.

Kodning quyidagi qismiga qarang.

int massivi1={1, 2, 3, 4, 5};

System.out.println(1-massiv[5]);

Bu istisnoga olib keladi. Massiv1 5 ta elementdan iborat massivdir. Massivning boshlang'ich indeksi nolga teng. 5th indeks qiymatini chop etish istisnoga olib keladi, chunki u chegaradan tashqarida. Massiv1ning maksimal indeksi 4.

Java-da tekshirilgan va belgilanmagan istisno o'rtasidagi asosiy farq
Java-da tekshirilgan va belgilanmagan istisno o'rtasidagi asosiy farq

03-rasm: ArrayOutOfBound istisnolardan foydalanish

Yuqoridagi dasturga ko’ra massiv1 5 ta elementga ega. Indeks 6 bilan elementni chop etish istisnoga olib keladi, chunki u chegaradan tashqarida. 1-massivda saqlanishi mumkin bo'lgan maksimal indeks - 5. Xato xabari catch blokini bajarish orqali chop etiladi.

Java'da tekshirilgan va belgilanmagan istisnolar o'rtasidagi o'xshashlik nima

Java-da Belgilangan va Belgilanmagan istisnolar Java-dagi istisno turlaridir

Java-da tekshirilgan va belgilanmagan istisnolar o'rtasidagi farq nima?

Java-da Belgilangan va Belgilanmagan istisnolar

Tekshirilgan istisno - kompilyator tomonidan tekshiriladigan ish vaqti xatosi. Tekshirilmagan istisno - kompilyator tomonidan tekshirilmagan ish vaqti xatosi.
Voqea
Tekshirilgan istisno sodir boʻlganda, Java ilovasi fayl, qurilma yoki maʼlumotlar bazasi kabi tashqi manbaga ulanadi. Tekshirilmagan istisno yuzaga kelganda, Java ilovasi tashqi manbaga ulanmagan.
Misollar
IOException, FileNotFoundException, SQLException tekshirilgan istisnolarga misollardir. Arifmetik istisno, ArrayOutOfBoundException, NullPointerException - bu belgilanmagan istisnolarga misollar.

Xulosa – Java’da tekshirilgan va tekshirilmagan istisnolar

Istisno - bu dastur oqimining bajarilishini to'xtatuvchi hodisa. Ikki turdagi istisnolar mavjud. Ular tekshirilgan istisnolar va tekshirilmagan istisnolar deb ataladi. Ushbu maqolada tekshirilgan istisno va tekshirilmagan istisnolar o'rtasidagi farq muhokama qilindi. Java-da tekshirilgan va belgilanmagan istisnolar o'rtasidagi farq shundaki, tekshirilgan istisno kompilyator tomonidan tekshiriladi va tekshirilmagan istisno kompilyator tomonidan tekshirilmaydi. Istisnolar dasturning to'g'ri bajarilishiga ta'sir qilganligi sababli, ularni boshqarish yaxshi dasturlash amaliyotidir.

Tavsiya: