Info Draft Processing suomeksi

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;

erreurs2

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;

erreurs3

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() {

erreur4

Oikea koodi on:

void draw() {

}
 void setup() { }

ArithmeticException: / by zero

int jakaja = 0;
println(1 / jakaja);

erreur9

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]);

erreur8

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;
}

erreur6

Oikea koodi on:

Ball myBall = new Ball();

void setup() {
  myBall.x = 10;
}

class Ball {
  int x;
  int y;
}