Übersetzungsfehler oder Laufzeitfehler

Status
Nicht offen für weitere Antworten.

Shorty-84

Mitglied
Hallo,
ich erhalte diese beiden Fehlermeldungen:
Code:
java.lang.ArrayIndexOutOfBoundsException
		at Horner.main(Horner.java:8)
Exception in thread "main"  

Kommentar: Zeile 8 von Horner.java: 
String eingabe = args[0];
Code:
(d2)
Horner.java:9: Class BufferedReader not found.
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
^

Könnte mir jemand bitte erklären, bei welcher Meldung es sich um ein Laufzeitfehler und bei welcher es sich um ein Übersetzungsfehler handelt? Und vor allem, wodurch erkenne ich das, und wie lässt es sich beheben?

Danke!
 

Marco13

Top Contributor
Laufzeitfehler treten zur Laufzeit auf, und Übersetzungsfehler während der Übersetzung.
*prust* :lol:
Naja mal im ernst: Übersetzungsfehler heißt, dass ein Programm sich nicht compilieren läßt, z.B. (!!!) wegen eines Tippfehlers:
Code:
int zahl = 123;
zahn = 345; // Tippfehler -> Läßt sich nicht compilieren
Laufzeitfehler sind FAST immer "Excpetions" (machmal auch "Errors"), die (GANZ grob:) ~~"eher auf logische Fehler hindeuten"~~
Code:
int array[] = new int[3];
array[5] = 123; // Läßt sich compilieren, Kracht aber, weil array zu klein ist
 

Leroy42

Top Contributor
Das erste ist ein Laufzeitfehler, das zweite ein Compile-time-Fehler

Shorty-84 hat gesagt.:
Und vor allem, wodurch erkenne ich das, und wie lässt es sich beheben?

:shock:
Du mußt doch wissen, ob du gerade compilierst oder dein Programm
laufen läßt.

Im ersten Fehler greifst du in Zeile 8 auf einen größeren
Index zu als dein Array überhaupt hat.

Im zweiten Fehler hast du einfach
Code:
import java.io.*;
vergessen.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben