Sobes.tech
Junior — Middle

Milliseid vigu teate ja kuidas te neid klassifitseeriksite?

sobes.tech AI

Vastus AI-lt

Java ja üldiselt programmeerimises saab vigu klassifitseerida järgmiselt:

  1. Süntaksivead (Syntax Errors) — vead, mis tekivad programmeerimiskeele reeglite rikkumise tõttu. Kääne ei saa koodi kompileerida.

  2. Tööajal vead (Runtime Errors) — vead, mis ilmnevad programmi käivitamise ajal, näiteks jagamine nulliga, null-viitamisele viitamine, massiivi piiride ületamine.

  3. Loogilised vead (Logical Errors) — vead, kus programm töötab, kuid ei tee seda, mida oli plaanitud, vale loogika tõttu.

  4. Kompileerimisvead (Compilation Errors) — hõlmavad süntaksivigu ja muid probleeme, mis takistavad programmi kompileerimist.

  5. 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");
}