Yleisiä virheitä
Unexpected token
Tämä virheviesti tulee usein, mikäli unohdat kirjoittaa puolipisteen ";" rivin loppuun, tai et ole sulkenut aaltosulkeita. Ohjelma näkee silloin kahden rivin komennon, jolloin syntaksi on väärin.
int kokonaisluku = 1 int murtoluku = 0.1;
![]()
Oikea koodi on:
int kokonaisluku = 1; int murtoluku = 0.1;
Cannot find anything named
Tämä virhe syntyy, kun kutsut muuttujaa, jota ei ole olemassa. Tarkasta, että olet julistanut muuttujan.
int numero2 = numero1 + 5;
![]()
Oikea koodi on:
int numero1 = 10; int numero2 = numero1 + 5;
Found one too many...
Tämä virheviesti tulee, kun et ole sulkenut koodiblokkia aaltosululla.
void draw() {
}
void setup() {
![]()
Oikea koodi on:
void draw() {
}
void setup() { }
ArithmeticException: / by zero
int jakaja = 0; println(1 / jakaja);
![]()
Nollalla ei voi jakaa. Tarvittaessa voit varmistaa, että ohjelma ei yritä jakaa nollalla.
int jakaja = 0;
if (jakaja != 0) {
println(1 / jakaja);
} else {
println("Ei voi jakaa nollalla!");
}
Cannot convert ... to ...
Tämä virhe tulee, kun yrität laittaa muuttujaan arvon, joka ei sovi muuttujan tyyppiin.
int a = 10; float b = 10.5; a = b;

Voimme laittaa murtoluvun (float) muuttujaan, joka on tarkoitettu kokonaisluvulle (int), mutta silloin meidän täytyy muuntaa luku kokonaisluvuksi. Oikea koodi on:
int a = 10; float b = 10.5; a = int(b);
ArrayIndexOutOfBoundsException
Tämä virhe tulee, kun yrität päästä tietokentän (array) ulkopuolella olevaan osatekijään. Seuraavassa esimerkissä taulun koko on 3 ja yritämme päästä laatikkoon 4.
int[] numbers = new int[3]; numbers[0] = 1; numbers[1] = 20; numbers[2] = 5; println(numbers[4]);
![]()
Oikea koodi on:
int[] numbers = new int[3]; numbers[0] = 1; numbers[1] = 20; numbers[2] = 5; println(numbers[3]);
NullPointerException
Tämä virhe tulee, kun yrität päästä muuttujaan, jota ei ole muistissa. Kun yrität esimerkiksi päästä objektiin, jota ei ole vielä alustettu.
Ball myBall;
void setup() {
myBall.x = 10;
}
class Ball {
int x;
int y;
}
![]()
Oikea koodi on:
Ball myBall = new Ball();
void setup() {
myBall.x = 10;
}
class Ball {
int x;
int y;
}




