errno --- รหัสข้อผิดพลาดของระบบ

โมดูลนี้ให้การเข้าถึงรหัสข้อผิดพลาดเชิงสัญลักษณ์สำหรับ exception OSError รวมถึง dictionary errorcode ที่แมปรหัสตัวเลขกลับเป็นชื่อสัญลักษณ์

ค่าคงที่

รหัสข้อผิดพลาดด้านล่างอิงตามมาตรฐาน ANSI C / POSIX โดยแต่ละรหัสเป็นจำนวนเต็มที่ชื่อสัญลักษณ์ขึ้นต้นด้วย E นี่คือรหัสที่มีบน OpenMV Cam โดยปกติเข้าถึงรหัสข้อผิดพลาดด้วย exc.errno โดยที่ exc เป็นอินสแตนซ์ของ OSError ตัวอย่างการใช้งาน:

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

ไม่อนุญาตให้ดำเนินการ

errno.ENOENT: int

ไม่พบไฟล์หรือไดเรกทอรี

errno.EIO: int

ข้อผิดพลาด I/O

errno.EBADF: int

file descriptor ไม่ถูกต้อง

errno.EAGAIN: int

ทรัพยากรไม่พร้อมใช้งานชั่วคราว คืนค่าโดยการดำเนินการ non-blocking (เช่น การอ่าน/เขียน socket) ที่จะบล็อกในกรณีปกติ

errno.ENOMEM: int

หน่วยความจำไม่เพียงพอ

errno.EACCES: int

ถูกปฏิเสธสิทธิ์

errno.EEXIST: int

ไฟล์หรือไดเรกทอรีมีอยู่แล้ว

errno.ENODEV: int

ไม่พบอุปกรณ์

errno.EISDIR: int

เป็นไดเรกทอรี (มีการดำเนินการที่ต้องการไฟล์กับไดเรกทอรี)

errno.EINVAL: int

อาร์กิวเมนต์ไม่ถูกต้อง

errno.EOPNOTSUPP: int

การดำเนินการไม่ได้รับการรองรับบน socket หรืออุปกรณ์นั้น

errno.EADDRINUSE: int

ที่อยู่ถูกใช้งานอยู่แล้ว

errno.ECONNABORTED: int

การเชื่อมต่อถูกยกเลิก

errno.ECONNRESET: int

การเชื่อมต่อถูกรีเซ็ตโดย peer

errno.ENOBUFS: int

ไม่มีพื้นที่ buffer

errno.ENOTCONN: int

Socket ไม่ได้เชื่อมต่อ

errno.ETIMEDOUT: int

การเชื่อมต่อหรือการดำเนินการหมดเวลา

errno.ECONNREFUSED: int

การเชื่อมต่อถูกปฏิเสธ

errno.EHOSTUNREACH: int

ไม่สามารถเข้าถึง host ได้ (ไม่มีเส้นทางไปยัง host)

errno.EALREADY: int

การดำเนินการอยู่ระหว่างดำเนินการแล้ว

errno.EINPROGRESS: int

การดำเนินการกำลังดำเนินการอยู่ (เช่น connect() แบบ non-blocking)

errno.errorcode: dict[int, str]

Dictionary ที่แมปรหัสข้อผิดพลาดตัวเลขแต่ละตัวไปยังสตริงที่มีชื่อสัญลักษณ์:

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