17. Lektion: Fehlerbehandlung: Unterschied zwischen den Versionen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche
(try/except)
(try/except)
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