====== Programmierübungen zu Fehlern und Exceptions ====== ===== Fehler-Erzeuger ===== Erzeuge die folgenden Fehlermeldungen mit Hilfe kleiner Programme und erläutere, was die Ursache des Fehlers ist oder sein könnte. - NameError: name 'math' is not defined - TypeError: unsupported operand type(s) for +: 'int' and 'str' - SyntaxError: invalid syntax - IndentationError: expected an indented block - AttributeError: 'Person' object has no attribute 'speed' - TypeError: move_faster() missing 1 required positional argument: 'new_speed' ===== Fehler-Erzeuger 2 ===== Versuche, so viele unterschiedliche(!) Fehler wie möglich zu erzeugen. Welche Arten von Fehlern kann du produzieren? Kannst du sie gruppieren? ===== Exception-Erzeuger ===== Erstelle ein Programm, das den folgenden Stacktrace produziert. Schaffst du es auch, die korrekten Zeilennummern zu verwenden? Traceback (most recent call last): File "circle.py", line 22, in circ.area() File "circle.py", line 8, in area return self.get_radius() ** 2 * math.pi File "circle.py", line 11, in get_radius self.check_radius_sign() File "circle.py", line 17, in check_radius_sign raise Exception("Radius is negative:" + str(self.radius)) Exception: Radius is negative:-3