Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

Python #8: Fehlerbehandlung

Posted on 13. Dezember 20181. Mai 2023 by Stefan Draeger

In den vorherigen Kapiteln habe ich bereits einige Fehlerquellen inkl. Lösung aufgezeigt, jedoch möchte ich nun etwas tiefer in dieses Thema einsteigen.

Der Python Interpreter zeigt bei einem Fehler immer einen kleinen Stacktrace an, aus diesem Stück Text kann man dann das Problem und die meist die Ursache entnehmen.

textBaustein1 = "Ich bin "
textBaustein2 = " Jahre alt."
alter = 38
print(textBaustein1 + alter + textBaustein2)

Der oben dargestellte Quellcode erzeugt folgenden Fehlermeldung:

Traceback (most recent call last):
  File "C:\Temp\hello.py", line 4, in <module>
    print(textBaustein1 + alter + textBaustein2)
TypeError: can only concatenate str (not "int") to str

Eigentlich sehr bequem jedoch kann man („meist“)  als Anfänger mit dieser Ausgabe nicht viel anfangen.

Die eigentliche Fehlermeldung lautet: „TypeError: can only concatenate str (not „int“) to str“ . Und bedeutet, das „nur Strings können mit dem Operator + verbunden / konkatiniert werden“. Wir müssen also unsere Zahl „38“ in ein String umwandeln, sodass alle Werte den gleichen Datentypen haben.

Die Lösung wird also sein:

textBaustein1 = "Ich bin "
textBaustein2 = " Jahre alt."
alter = "38"
print(textBaustein1 + alter + textBaustein2)

# oder
#alter = str(38)
#print(textBaustein1, alter, textBaustein2)

Hier zeige ich nun zwei Lösungen, einmal die einfache in dem einfach die Zahl mit Anführungszeichen am Anfang und Ende dargestellt. Als alternative kann man auch die Funktion „str“ nutzen, dieser Funktion kann man die Zahl übergeben und erhält als Ergebnis dieser Funktion ein String. Oder man nutzt die Funktion „print“ etwas anders, diese Funktion kann eine kommaseparierte Liste mit Variablen enthalten (und natürlich zusätzlich einen Separator). Aber dieses ist nur die Lösung für das „kleine“ Problem.

Hilfe von externen Quellen einholen

Wenn man doch einmal an seine Grenzen gestoßen ist, kann man sich im Internet bedienen. Ich verwende gerne die Suchmaschine Google.de, diese ist generell meine erste Wahl, wenn etwas gesucht wird. Zusätzlich muss man natürlich auch wissen wonach man sucht. Als Suchbegriff verwende ich nun die Fehlermeldung inkl. „Python“ und die Versionsnummer (denn Lösungen zu alten Versionen können ggf. nicht mehr gelten).

Referenz von Python 3

Benutzt man Funktionen von Python und stößt dabei auf einen Fehler ist ein Blick in die Beschreibung dieser Funktion sehr hilfreich. Eine Referenz zu allen Funktionen in der aktuellen Python Version 3 findet man unter https://docs.python.org/3/.

Wenn man in der Referenz auch nicht weiterkommt, kann man auf Webseiten & Foren eine Frage stellen. Aber bitte vorher die Hinweise lesen damit man die Frage korrekt stellt und sowenig wie möglich Rückfragen erhält.

Webseite stackoverflow

Auf der Webseite https://stackoverflow.com/  kann man nach einer Anmeldung (kann wahlweise mit Google oder Facebook erfolgen) eine Frage an die Community stellen. Im Idealfall enthält die Frage immer ein Stück Quellcode und die Fehlermeldung / den Stacktrace des Interpreters.

Netiquette

Bei allem Stress, den man hat darf man nicht die Netiquette vergessen, d.h. man darf sich ruhig bedanken, wenn eine Lösung angeboten wird, und Rückfragen sind kein Angriff.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen
Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

link zu Fabook
link zu LinkedIn
link zu YouTube
link zu TikTok
link zu Pinterest
link zu Instagram
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}