Fehler und Ausnahmen – Grundwissen

Hier gibt es Infos zu Fehlern in der Programmierung.
Wenn ein Mensch an etwas arbeitet entstehen Fehler. Das ist nunmal so. Auch mit der Arbeit mit Python werden irgendwann Fehler auftreten …
Hier gibt es erst einmal Grundwissen zu den Fehlern. Beispiele mit Lösungen gibt es hier.

Bitte beachten: Python unterscheidet wie Linux zwischen Groß- und Kleinschreibung. Variable , variable und VARIABLE sind 3 unterschiedliche Variablen!

Es gibt verschiedene Arten von Fehlern: Syntaxfehler, Ausnahmefehler

In der EDV wird meist englisch gesprochen, Hier gibt es Begriffe, die Fehler bedeuten oder mit Fehlern zu tun haben::

  • error = Fehler
  • exception = Ausnahme
  • false = falsch
  • fault = Fehler, falsch
  • bug = Fehler, Wanze
  • trip = Fehler, Reise
  • misstep = Fehler, Fehltritt
  • defect = Defekt, kaputt
  • flaw = Fehler, Mangel, Defekt
  • destroy – zerstören

Syntaxfehler, auch Parser-Fehler genannt, sind vielleicht die häufigsten Fehlermeldungen, die Du bekommt, wenn Du Python lernst. Syntaxfehler (englisch Syntax error) im Allgemeinen sind Verstöße gegen die Satzbauregeln einer Sprache. In der Informatik bezieht sich das Wort in der Regel auf den sogenannten kontextfreien Anteil der syntaktischen Regeln einer Programmiersprache. Programme mit Syntaxfehlern werden von einem Compiler oder Interpreter zurückgewiesen.

Fehlermeldung EnglischFehlermeldung Deutsch
TypeError: 'range' object does not support item assignmentTypeFehler: Das Objekt 'range' unterstützt keine Elementzuweisung
TypeError: 'type' object is not subscriptableTypeFehler: Das Objekt 'type' kann nicht tiefgestellt werden
Ein subskriptierbares Objekt ist jedes Objekt, das die spezielle Methode __getitem__ implementiert (wie Listen und Dictornarys). Die Bedeutung des Index beim Rechnen ist: "Ein Symbol (fiktiv als Index geschrieben, aber in der Praxis normalerweise nicht), das in einem Programm allein oder mit anderen verwendet wird, um eines der Elemente eines Arrays zu spezifizieren."
AttributeError: module 'random' has no attribute 'rant'AttributeFehler: Modul 'random' hat kein Attribut 'rant'
Ein Modul ist eine Datei, die Python-Definitionen und -Anweisungen beinhaltet.
EOFErrorDateiende erreicht (End-of-File Error)
FilenotfoundErrorDatei nicht gefunden
Index-ErrorZugriff auf ein nicht vorhandenes Element (
Keyboard-InterruptTastatur-Abbruch. Der Nutzer hat STRG+C gedrückt
Permission-ErrorRechtefehler, unzureichende Rechte für den Dateizugriff.
Recursion-ErrorÜberschreitung der maximalen Rekursionstiefe
TypeErrorFalscher Datentyp
Unicode Errorfehlerhafte Codierung in der Zeichenkette
ValueErrorParameter ausserhalb des zulässigen Datenbereiches
ZeroDivisionErrorDivision durch 0

Beispielfehler mit Lösungen:

greeting = tk.Label(text=“Hello, Tkinter“)
Traceback (most recent call last):
File „“, line 1, in
NameError: name ‚tk‘ is not defined

Bitte in diesem Fall überprüfen ob tkinter importiert wurde.
>>> import tkinter as tk

import tkinter as tk
Traceback (most recent call last):
File „“, line 1, in
ModuleNotFoundError: No module named ‚tkinter‘

Eventuell ein Schreibfehler im Modulnamen? Ist das Modul installiert worden? Wenn dies mit „Kein Modul mit dem Namen _tkinter“ fehlschlägt, muss Ihre Python-Konfiguration so geändert werden, dass sie dieses Modul enthält (ein in C implementiertes Erweiterungsmodul). Bearbeiten Sie Module / Setup nicht ** (es ist veraltet). Möglicherweise müssen Sie Tcl und Tk installieren (wenn Sie RPM verwenden, installieren Sie auch die RPMs -devel) und / oder das Skript setup.py bearbeiten, um auf die richtigen Speicherorte zu verweisen, an denen Tcl / Tk installiert ist. Wenn Sie Tcl / Tk an den Standardspeicherorten installieren, sollte durch einfaches erneutes Ausführen von „make“ die Erweiterung _tkinter erstellt werden.
Wenn dies mit einem Fehler des dynamischen Linkers fehlschlägt, siehe oben (unter Unix überprüfen Sie, ob die Header- / Bibliotheksdatei nicht übereinstimmt; unter Windows überprüfen Sie, ob die TCL / TK-DLLs gefunden werden können).

IndentationError: unexpected indent

Das Eingeben Ihres Codes kann ein unordentliches Geschäft sein, wenn Sie versuchen, sowohl Leerzeichen als auch Tabulatoren zu verwenden. In Python führt die Verwendung beider Einrückungsmethoden zu einem Fehler. Dieser Fehler lautet „Einrückungsfehler: Einrückung entspricht keiner äußeren Einrückungsstufe“.