errno — Systemfehlercodes#

Dieses Modul stellt den Zugriff auf symbolische Fehlercodes für die Ausnahme OSError bereit, zusammen mit dem Dictionary errorcode, das numerische Codes wieder auf ihre symbolischen Namen abbildet.

Konstanten#

Die folgenden Fehlercodes basieren auf dem ANSI-C-/POSIX-Standard; jeder ist eine ganze Zahl, deren symbolischer Name mit E beginnt. Dies sind die auf der OpenMV Cam bereitgestellten Codes. Auf einen Fehlercode wird üblicherweise über exc.errno zugegriffen, wobei exc eine Instanz von OSError ist. Anwendungsbeispiel:

try:
    os.mkdir("my_dir")
except OSError as exc:
    if exc.errno == errno.EEXIST:
        print("Directory already exists")
errno.EPERM: int#

Operation nicht erlaubt.

errno.ENOENT: int#

Datei oder Verzeichnis nicht vorhanden.

errno.EIO: int#

E/A-Fehler.

errno.EBADF: int#

Ungültiger Dateideskriptor.

errno.EAGAIN: int#

Ressource vorübergehend nicht verfügbar. Wird von einer nicht-blockierenden Operation (z. B. einem Socket-Lese-/Schreibvorgang) zurückgegeben, die andernfalls blockieren würde.

errno.ENOMEM: int#

Kein Speicher mehr verfügbar.

errno.EACCES: int#

Zugriff verweigert.

errno.EEXIST: int#

Datei oder Verzeichnis existiert bereits.

errno.ENODEV: int#

Kein solches Gerät vorhanden.

errno.EISDIR: int#

Ist ein Verzeichnis (eine Operation, die eine Datei erfordert, wurde auf ein Verzeichnis angewendet).

errno.EINVAL: int#

Ungültiges Argument.

errno.EOPNOTSUPP: int#

Operation auf dem Socket oder Gerät nicht unterstützt.

errno.EADDRINUSE: int#

Adresse wird bereits verwendet.

errno.ECONNABORTED: int#

Verbindung abgebrochen.

errno.ECONNRESET: int#

Verbindung von der Gegenstelle zurückgesetzt.

errno.ENOBUFS: int#

Kein Pufferspeicher verfügbar.

errno.ENOTCONN: int#

Socket ist nicht verbunden.

errno.ETIMEDOUT: int#

Zeitüberschreitung bei der Verbindung oder Operation.

errno.ECONNREFUSED: int#

Verbindung abgelehnt.

errno.EHOSTUNREACH: int#

Host ist nicht erreichbar (keine Route zum Host).

errno.EALREADY: int#

Operation bereits in Bearbeitung.

errno.EINPROGRESS: int#

Operation jetzt in Bearbeitung (z. B. ein nicht-blockierendes connect()).

errno.errorcode: dict[int, str]#

Dictionary, das jeden numerischen Fehlercode auf einen String mit seinem symbolischen Namen abbildet:

>>> print(errno.errorcode[errno.EEXIST])
EEXIST