Milliseid vigu teate ja kuidas te neid klassifitseeriksite?
sobes.tech AI
Vastus AI-lt
Java ja üldiselt programmeerimises saab vigu klassifitseerida järgmiselt:
-
Süntaksivead (Syntax Errors) — vead, mis tekivad programmeerimiskeele reeglite rikkumise tõttu. Kääne ei saa koodi kompileerida.
-
Tööajal vead (Runtime Errors) — vead, mis ilmnevad programmi käivitamise ajal, näiteks jagamine nulliga, null-viitamisele viitamine, massiivi piiride ületamine.
-
Loogilised vead (Logical Errors) — vead, kus programm töötab, kuid ei tee seda, mida oli plaanitud, vale loogika tõttu.
-
Kompileerimisvead (Compilation Errors) — hõlmavad süntaksivigu ja muid probleeme, mis takistavad programmi kompileerimist.
-
Erandid (Exceptions) — objektid, mis näitavad, et käivitamise ajal tekkis viga. Java-s jagunevad need:
- Kontrollitud erandid (Checked exceptions) — mida tuleb töödelda või deklareerida meetodis (näiteks IOException).
- Kontrollimata erandid (Unchecked exceptions) — mida ei kontrollita, pärivad RuntimeException-ist (näiteks NullPointerException).
- Vead (Errors) — tõsised vead, mis on seotud JVM-iga (näiteks OutOfMemoryError), mida tavaliselt ei töödelda.
Java näide erandi töötlemisest:
try {
int result = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("Nulliga jagamine on võimatu");
}