Vigade tüübid
Sissejuhatus
Programmeerimisel on vead paratamatud ja isegi kogenud arendajad puutuvad nendega igapäevaselt kokku. Vigade mõistmine ja nende kiire lahendamine on arenduses fundamentaalne oskus.
Java pakub üksikasjalikku informatsiooni vigade kohta läbi veasõnumite (stack traces), mis aitavad mõista, mis läks valesti ja kus.
Vigade tüübid
Javas jagunevad vead kolme põhikategooriasse:
Täpsemalt räägime kompileerimis- ja käitusajavigadest
Kompileerimisvead
Kompileerimisvigu tuvastatakse programmi kompileerimise ajal. Programm enne tööle ei hakka (ei ehitata valmis), kuniks need vead parandatud saavad.
Kompileerimisvigade alla kuuluvad näiteks:
- süntaksi vead
- tüübi vead
- kättesaamatu kood
- deklaleerimata/initsialiseerimata muutuja
- puudulik tagastusväärtus
Käitusajavead
Käitusajavead (ingl k. runtime error) ilmnevad programmi töötamise ajal. Kood kompileerub edukalt ning programmi saab tööle panna, kuid selle töö käigus tekkis mingi viga.
Käitusajavead jagunevad kaheks:
- Erandid (exception) - Olukorrad, millest on võimalik taastuda
- Vead (error) - Tõsisemad probleemid, mille tõttu programm lakkab töötamast
Näide käitsuajaveast oleks ArrayIndexOutOfBoundsException:
public class RuntimeErrorExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
System.out.println(numbers[10]); // ArrayIndexOutOfBoundsException
}
}
Tekkiv viga:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 3
at RuntimeErrorExample.main(RuntimeErrorExample.java:4)
Erindite kohta tuleb hiljem omaette peatükk.