|
|
Zeile 22: |
Zeile 22: |
| Dieses ist die klassische Fehlerbehandlung in Python. | | Dieses ist die klassische Fehlerbehandlung in Python. |
| | | |
− | === Fehlercode für Ausnahmen (Exceptions)=== | + | <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 |
Zeile 42: |
Zeile 62: |
| * ValueError | | * ValueError |
| * ZeroDivisionError | | * ZeroDivisionError |
| + | Weitere Exceptions konnen durch Module dazu kommen. |
| | | |
| | | |
Version vom 3. Oktober 2023, 12:41 Uhr
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/
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