17. Lektion: Fehlerbehandlung

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche

assert

Assert prüft eine Bedingung und gibt wenn False eine Meldung aus.
Das Programm wird dadurch abgebrochen.

>>> a = 1
>>> b = 2
>>> assert a < b, 'a ist kleiner als b'
>>> 

>>> assert not a < b, 'a ist kleiner als b'
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AssertionError: a ist kleiner als b
>>> 
Übung:
  • Teste verschiedene Möglichkeiten um eine assert-Meldung auszulösen.


try/except

Dieses ist die klassische Fehlerbehandlung in Python. (Beispiel für Python)
Hier liegt in der Hand des Programmierers, ob das Programm abgebrochen, oder weitergeführt wird.
Unter except kann ggf. eine Workaround eingebaut werden.

try:
    # Diese Anweisung kann einen FileNotFoundError auslösen:
    file = open('/tmp/any_file.txt')

except FileNotFoundError:
    print("Datei nicht gefunden!")

except IOError:
    print("Datei nicht lesbar!")

else:
    # Datei einlesen, wenn kein Fehler augetreten ist:
    data = file.read()

finally:
    # Diese Anweisung in jedem Fall ausführen:
        file.close()

Micropython Fehlercode (Exceptions)

Es gibt eine ganze Menge Fehlermeldungen die in Python enthalten sind und mit exception ausgewertet werden können. In Micropython sind es weniger:

  • AssertionError
  • AttributeError
  • Exception
  • ImportError
  • IndexError
  • KeyboardInterrupt
  • KeyError
  • MemoryError
  • NameError
  • NotImplementedError
  • OSError
  • RuntimeError
  • StopIteration
  • SyntaxError
  • SystemExit
  • TypeError
  • ValueError
  • ZeroDivisionError

Weitere Exceptions konnen durch Module dazu kommen.

Sparversion

Ggf. funktioniert das auch ohne Exception Fehlerauswertung:

>>> try:
        1/0
    except:
        print("Geht nicht!")

    Geht nicht!
>>> 

Diese Version ist nicht gerade pythonisch, aber bei der Entwicklung sehr hilfreich.

Weiterführende Links:

Navigation

Zurück zu Micropython Kurs 2023 - Teil 1
Zurück zur "Micropython Kurs 2023" Startseite
Zurück zur Programmieren Startseite
Zurück zur Wiki Startseite

Diese Seite wurde zuletzt am 4. November 2023 um 10:30 Uhr geändert. Diese Seite wurde bisher 2.221 mal abgerufen.