Wenn ein Anwender unser kleines Additionsprogramm startet und geeignete Parameter eingibt, klappt alles bestens. Was aber geschieht, wenn er (oder sie) dabei einen Fehler macht?

Es gibt 4 Fehlermöglichkeiten beim Aufruf von add:

  1. keinen Parameter übergeben
  2. nur einen Parameter übergeben
  3. erster Parameter enthält keine gültige Zahlendarstellung
  4. zweiter Parameter enthält keine gültige Zahlendarstellung

In jedem dieser Fälle meldet uns der Java-Interpreter einen Fehler. Ein solcher Fehler wird Ausnahme genannt, auf englisch exception.
Dabei wird ziemlich genau gemeldet

Zu den oben aufgeführten Fehlern werden etwa folgende Ausgaben geliefert. Hier werden nur die unterstrichenen Teile gedeutet.

  1. Es wurde kein Parameter übergeben.
    Aufruf: java add

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
            at add.main(add.java:5)
    Es handlet sich um eine Ausnahme vom Typ ArrayIndexOutOfBoundsException, die in dem Packet java.lang (java language) beschrieben ist. Konkret bedeutet dies hier, dass im Programm auf einen String zugegriffen wird, der gar nicht existiert. Die Null hinter der Ausnahme ist der Index, bei dem die Ausnahme aufgetreten ist.
    In der zweiten Zeile wird die Information geliefert, welche Stelle im Quelltext zu dieser Ausnahme geführt hat - in der Klasse add innerhalb der Funktion main, innerhalb der Quelltextdatei add.java in Zeile 5.
      double a = Double.parseDouble(args[0]); // args[0] gibt es nicht.
       
    Bevor Sie sich über eine solche Ausnahme ärgern, beachten Sie bitte, dass hier sehr hilfreiche Informationen geliefert werden, mit denen ein Laufzeitfehler besser aufgefangen werden kann!

    Hinweis:
    Die beiden Schrägstriche in der obigen Quelltextzeile kennzeichnen, dass hier ein Kommentar beginnt, der bis zum Zeilenende reicht. Wenn ein solcher Kommentar im Quelltext vorliegt, übergeht der Compiler diesen einfach. Ein Kommentar wirkt sich also beim Übersetzen nicht aus.