Laufzeitfehler

Laufzeitfehler

Laufzeitfehler (engl. runtime error) sind Programmfehler eines Computerprogrammes, die erst zur Laufzeit eines Programms auftreten, also während das Programm ausgeführt wird. Typische Laufzeitfehler sind der Zugriff auf einen geschützten Speicherbereich, fehlende, aber benötigte Parameter (beispielsweise eine Eingabedatei), falscher Umgang mit Datentypen oder Division durch Null. Auch ungültige oder fehlerhafte Eingaben oder nicht erwartete Werte können diese Fehler hervorrufen.

Compiler können Laufzeitfehler nicht vorhersehen. Sie führen zum Absturz des ausgeführten Programms oder zu nicht vorhersehbarem Verhalten durch Zugriff auf inkonsistente Daten (Variablen werden überschrieben, falsche Werte gelesen). Die einzige Möglichkeit, Laufzeitfehler zu verhindern, besteht darin, Fehlerquellen vorausschauend auszuschließen, beispielsweise durch eine Feldprüfung und Typisierung. Einige Programmiersprachen sehen ergänzend die Möglichkeit vor, Laufzeitfehler als Ausnahmesituationen zu behandeln, um sinnvoll auf unvorhergesehene Ereignisse reagieren zu können.

Typische Beispiele

  • Verwendung von Objektverweisen, die bisher nicht auf ein Objekt verweisen, sondern auf „gar nichts“ (z. B. Nullpointer in C)
  • fehlerhafte Speicherplatzreservierung – tritt vor allem bei Programmiersprachen auf, die keine automatische Speicherbereinigung durchführen, wie C.
  • fehlende Dateien, aus denen das Programm Daten beziehen soll.
  • versehentlicher „Angriff“ auf einen Server – durch fehlerhafte Programmierung überflutet das Programm einen Server dermaßen mit Anfragen, dass der Server nicht mehr mithalten kann (siehe auch DDoS-Angriff)

Falsch berechnete Zwischenergebnisse gehören eher in den Bereich der Fehler, die durch einen falsch programmierten Ablauf entstehen. Das gleiche gilt für den sogenannten Pufferüberlauf (engl. Stack Overflow). Hierbei wird eine rekursive Funktion so oft aufgerufen, bis ein bestimmtes Limit überschritten wird. Die meisten Programmiersprachen brechen an dieser Stelle ab, da sonst eine Endlosschleife der Fall wäre, die nur durch einen Hardware-Neustart beendet werden könnte. Häufig wurde in einem solchen Fall einfach die Abbruchbedingung vergessen bzw. falsch programmiert.

Auch unerwartete Änderungen an der verfügbaren Hardware, die das Programm weder testen noch selbst beheben oder umgehen kann, können Laufzeitfehler verursachen, zum Beispiel:

  • eine Druckerausgabe wird versucht, der Drucker ist jedoch ausgeschaltet, nicht angeschlossen oder hat kein Papier mehr
  • Versuch eines Datenbankzugriffs, der Datenbankserver ist jedoch ausgefallen
  • ein Versuch, Daten auf einem Wechseldatenträger zu speichern, scheitert daran, dass jemand die Diskette aus dem Laufwerk bzw. die DVD aus dem Brenner genommen hat oder dass der Datenträger schreibgeschützt ist.
  • bei verteilten Anwendungen, bei denen mehrere Rechner gleichzeitig Teile desselben Programms ausführen, kann einer der Rechner ausgefallen sein. Dadurch fehlen dem restlichen Programm Berechnungsergebnisse.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Laufzeitfehler — Laufzeitfehler,   ein Fehler, der während der Ausführung eines Programms auftritt (und nicht schon bei der Kompilierung). Solche Fehler werden mithilfe von Debuggern aufgespürt …   Universal-Lexikon

  • Bohrbug — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Bugfix — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Bʌg — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Computerwanze — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Computerwanzen — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Fehlerfreiheit — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Heisenbug — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Mandelbug — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Programmierfehler — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”