Checked exceptions - Tekshirilgan istisno - bu kompilyator tomonidan kompilyatsiya vaqtida tekshirilgan (xabar qilingan) istisno bo'lib, kompilyatsiya vaqti istisnolari deb ham ataladi. Ushbu istisnolarni e'tiborsiz qoldirib bo'lmaydi, dasturchi ushbu istisnolarni toʻgʻirlashi kerak.
Masalan, agar siz dasturdagi FileReader sinfidan ma'lumotni o'qish uchun foydalansangiz, uning konstruktorida ko'rsatilgan fayl mavjud bo'lmasa, unda FileNotFoundException yuzaga keladi va kompilyator dasturchiga istisnolarni toʻgʻirlashni taklif qiladi.
Example
import java.io.File;
import java.io.FileReader;
public class FilenotFound_Demo {
public static void main(String args[]) {
File file = new File("E://file.txt");
FileReader fr = new FileReader(file);
}
}
Agar siz yuqoridagi dasturni tuzishga harakat qilsangiz, siz quyidagi istisnolarni olasiz
Output
C:\>javac FilenotFound_Demo.java
FilenotFound_Demo.java:8: error: unreported exception
FileNotFoundException; must be caught or declared to be thrown
FileReader fr = new FileReader(file);
^
1 error
Izoh - FileReader sinfining read () va close () usullari IOExceptionni tashlaganligi sababli, kompilyator FileNotFoundException bilan bir qatorda IOExceptionni boshqarish to'g'risida ogohlantirayotganini ko'rishingiz mumkin.
Unchecked exceptions − Belgilanmagan istisno - bu ijro etish vaqtida yuzaga keladigan istisno. Bular ham Runtime istisnolari deb nomlanadi. Bularga mantiqiy xatolar yoki APIni noto'g'ri ishlatish kabi dasturiy xatolar kiradi. Tuzatish vaqtida ijro vaqtidagi istisnolar hisobga olinmaydi.
Masalan, agar siz o'zingizning dasturingizda 5 o'lchamdagi qator e'lon qilgan bo'lsangiz va massivning 6-elementini chaqirishga harakat qilsangiz, ArrayIndexOutOfBoundsExceptionexception yuzaga keladi.
Example
public class Unchecked_Demo {
public static void main(String args[]) {
int num[] = {1, 2, 3, 4};
System.out.println(num[5]);
}
}
Agar siz yuqoridagi dasturni tuzsangiz va bajarsangiz, siz quyidagi istisnoni olasiz.
Output
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at Exceptions.Unchecked_Demo.main(Unchecked_Demo.java:8)
Errors - Bular umuman istisno emas, lekin foydalanuvchi yoki dasturchi nazorati ostida bo'lmagan muammolar. Odatda xatolar sizning kodingizda e'tiborga olinmaydi, chunki siz kamdan-kam hollarda xato haqida biron bir ish qilishingiz mumkin. Masalan, agar stack toshib ketsa, xato yuzaga keladi. Tuzatish paytida ular ham e'tiborga olinmaydi.
Do'stlaringiz bilan baham: |