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