java.lang.ArrayIndexOutOfBoundsException

Witam,
ponieważ uczę się java z pewnej książki, a w niej umieszczony jest przykład, który zgłasza mi wyjątek w czasie wykonania programu. Poniżej przedstawiam kod tego programiku.
class MojeEx extends Exception { }

public class ExTester {

public static void main(String[] args) {
String test = args[0];
try {
System.out.print("p");
zaryzykuj(test);
System.out.print("a");
} catch (MojeEx e) {
System.out.print("a");
} finally {
System.out.print("n");
}
System.out.print("a");
}

static void zaryzykuj(String t) throws MojeEx {
System.out.print("i");

if ("tak".equals(t)) {
throw new MojeEx();
}
System.out.print("j");
}
}

a po wykonaniu ukazuje się komunikat
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at ExTester.main(ExTester.java:6)
z góry dziękuje

Opcje przeglądania komentarzy

Wybierz preferowany sposób wyświetlania komentarzy i klinij na "Zapisz ustawienia", aby aktywować zmiany.
Łukasz Lenart's picture

Odwołujesz się do elementu

Odwołujesz się do elementu zerowego tablicy args[0], która jest pusta. Powinieneś zabezpieczyć się przed taką możliwością. Tablica args to parametry jakie zostały przekazane z linii komend do aplikacji.

Pozdrawiam
--
Łukasz