17. Lektion: Fehlerbehandlung: Difference between revisions
Jump to navigation
Jump to search
| Line 22: | Line 22: | ||
Dieses ist die klassische Fehlerbehandlung in Python. | Dieses ist die klassische Fehlerbehandlung in Python. | ||
=== Fehlercode | <pre> | ||
Es gibt eine ganze Menge Fehlermeldungen die in Python enthalten sind und mit exception ausgewertet werden können: | 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() | |||
</pre> | |||
=== 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 | * AssertionError | ||
* AttributeError | * AttributeError | ||
| Line 42: | Line 62: | ||
* ValueError | * ValueError | ||
* ZeroDivisionError | * ZeroDivisionError | ||
Weitere Exceptions konnen durch Module dazu kommen. | |||
Revision as of 13:41, 3 October 2023
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.
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.
defensive-programming-in-phyton
https://realpython.com/python-catch-multiple-exceptions/
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