Java xatolar
Java xatolar
Hatto tajribali Java dasturchilari ham xato qiladi. Asosiysi — ularni aniqlash va tuzatishni o‘rganish!
Bu sahifalarda keng tarqalgan xatolar hamda nima noto‘g‘ri ketayotganini va uni qanday tuzatishni tushunishga yordam beradigan foydali debugging maslahatlari yoritilgan.
Java tilidagi xato turlari
| Xato turi | Tavsif |
|---|---|
| Kompilyatsiya vaqtidagi xato | Kompilyator tomonidan aniqlanadi. Kodning ishga tushishiga yo‘l qo‘ymaydi. |
| Bajarilish vaqtidagi xato | Dastur ishlayotgan paytda yuz beradi. Ko‘pincha dasturning ishdan chiqishiga sabab bo‘ladi. |
| Mantiqiy xato | Kod ishlaydi, lekin noto‘g‘ri natija beradi. Topish eng qiyin xato. |
Keng tarqalgan kompilyatsiya vaqtidagi xatolar
Kompilyatsiya vaqtidagi xatolar dastur sintaksis yoki tip bilan bog‘liq muammolar tufayli kompilyatsiya qilinmaganda yuz beradi.
Mana ba’zi misollar:
1) Tushib qolgan nuqtali vergul
Maslahat: Java har bir ko‘rsatma oxirida nuqtali vergul bo‘lishini talab qiladi (int x = 5;).
2) E’lon qilinmagan o‘zgaruvchilar
Misol
System.out.println(myVar);
Natija:
cannot find symbol
symbol: variable myVar
Maslahat: O‘zgaruvchidan foydalanishdan oldin uni e’lon qilishingiz shart (int myVar = 50;).
3) Mos kelmaydigan tiplar
Misol
int x = "Hello";
Natija:
incompatible types: String cannot be converted to int
Maslahat: Qiymat o‘zgaruvchi tipiga mos kelishiga ishonch hosil qiling (String x = "Hello";).
Keng tarqalgan bajarilish vaqtidagi xatolar
Bajarilish vaqtidagi xatolar dastur kompilyatsiya qilinsa-da, ishdan chiqqanda yoki kutilmagan tarzda ishlaganda yuz beradi.
Mana ba’zi misollar:
1) Nolga bo‘lish
Misol
int x = 10;
int y = 0;
int result = x / y;
System.out.println(result);
Natija:
Exception in thread "main" java.lang.ArithmeticException: / by zero
2) Massiv indeksining chegaradan chiqishi
Misol
int[] numbers = {1, 2, 3};
System.out.println(numbers[8]);
Natija:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 3
Mantiqiy xatolar
Mantiqiy xatolar kod ishlasa-da, natija siz kutgandek bo‘lmaganda yuz beradi:
Misol:
int x = 10;
int y = 2;
int sum = x - y;
System.out.println("x + y = " + sum);
Natija:
x + y = 8
Kutilgan natija: 12
Mantiqiy xato: Kod qo‘shish o‘rniga adashib ayirish amalini bajaradi.
Maslahat: Mantiqiy kamchiliklarni aniqlash uchun dasturingizni turli kiruvchi ma’lumotlar bilan sinab ko‘ring (buning o‘rniga x + y’dan foydalanib ko‘ring). Bu nosozliklarni tuzatish (debugging) jarayonining bir qismi bo‘lib, u haqida keyingi bobda batafsil bilib olasiz.
Xatolarning oldini olish uchun foydali odatlar
- Ma’noli o‘zgaruvchi nomlaridan foydalaning
- Xato xabarini diqqat bilan o‘qing. Unda qaysi qator ko‘rsatilgan?
- Tushib qolgan nuqtali vergullar yoki figurali qavslarni tekshiring
- O‘zgaruvchi yoki metod nomlaridagi imlo xatolarini qidiring
Keyingi bobda kodingizdagi nosozliklarni tuzatishni (debug) — dasturingizdagi xatolarni qanday topish va tuzatishni o‘rganasiz.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
