Was ist der Unterschied zwischen einem Compiler-Fehler und einem Laufzeitfehler (Java)?

1 Antwort

Compiler-Fehler: 

Das bedeutet, dass der Java-Compiler deinen Code nicht kompilieren kann. Das liegt häufig an Syntax-Fehlern, z.B:

  • Fehlende Klammern
  • Fehlendes Semikolon
  • Zugriff auf private Eigenschaften oder Methoden aus anderen Klassen

Ein Bespiel:

int i = "10";

Das ist natürlich kein Integer und kann deshalb nicht von Javac kompiliert werden.

Compiler-Fehler sind also solche, die schon vor der Ausführung des Programms deutlich sind.

Laufzeit-Fehler:

Dabei konnte der Code kompiliert werden. Er ist also syntaktisch korrekt. Diese Fehler treten auf, während das Programm ausgeführt wird (at runtime). Bei einem runtime error wird es an einem bestimmten Punkt abgebrochen. Beispiele:

  • Division durch null
  • NullPointerException (Variable nutzen, die null ist)
  • Array-Indizes nutzen, die außerhalb der bounds liegen
  • Nutzung nicht verfügbarer Ressourcen wie Dateien

Ein Codebeispiel:

double x = 0; // könnte z.B. eine Nutzereingabe sein
double d = 5/x;

Letztendlich fallen Compiler-Fehler schon beim kompilieren auf, d.h. der Code ist ungültig. Laufzeit-Fehler dagegen treten nicht unbedingt bei jeder Ausführung des Programms auf, sondern oft in bestimmten Situationen (ungültige Nutzereingaben, keine Internetverbindung, etc.). Deshalb ist es wichtig, diese Ausnahmen (Exceptions) per try/catch-Konstrukt abzufangen sowie zu verarbeiten.

Windows Kommandozeile

Welche Programiersprache bzw. befehle werden in der kommandozeile (cmd) von windows benutzt?

...zur Frage

Wo braucht man heute noch die Assembler-Programmierung?

Ich frage mich ob man heutzutage noch in Assembler Programmiert. Braucht man die Sprache noch wo es doch Java und Co. gibt? In welchen Gebieten wird damit noch Programmiert?

...zur Frage

Vorteile und Nachteile diverser Programmierparadigmen

Hallo,

Ich versuche seit einiger Zeit, Vor- und Nachteile zur prozeduralen und objektorientierten Programmierung herauszuarbeiten. Nur ich beiße mir die Zähne an der Vielfalt der dazu aufrufbaren Wikipediaeinträge aus.

Ich arbeite momentan prozedural mit PHP und C#.

Kennt jemand zuverlässige Quellen, die diese Paradigmen vergleichen? Ich finde leider nur Forenbeiträge die in sinnlose Meinungskriege ausarten.

Danke im Vorraus

...zur Frage

Mit welcher Programmiersprache entwickelt man spiele?

Mit welcher Programmiersprach kann man 3D Spiele entwickeln? Mit welcher Programmiersprache wurde Gta entwickelt?

...zur Frage

Welche Programmiersprache müsste ich lernen, um Microsoft Dynamics CRM verstehen zu können?

MS Dynamics CRM ist eine CRM-Lösung für Unternehmen. Ich kann zwar als User damit arbeiten (auf der Benutzeroberfläche), aber Anpassungen können nur "Technicker" vornehmen. Was muss man dafür erlernen? Welche Programmiersprache? Vielleicht hift euch der Hinweis, dass für MS Dynamics CRM folgende technische Infrastruktur benötigt wird: Microsoft Windows Server 2003 oder 2008, Microsoft SQL Server 2005 oder 2008 in der Standard oder Enterprise Edition, Internet Information Server und die Active Directory.

...zur Frage

Online-Timer in PHP programmieren - Wie geht das?

Ich muss wegen dem Studium leider auch ein wenig in die Programmierthematik einsteigen und habe nun einige Aufgaben zu erledigen. U.a. muss ich einen Online Timer in der Sprache PHP programmieren und leider fehlt mir irgendwie der Einstieg. Kann mir vielleicht jemand helfen und mir ein gutes Tut dafür empfehlen oder weiss gar selber wie das funktioniert?

...zur Frage

Was möchtest Du wissen?