errno — 시스템 오류 코드

이 모듈은 OSError 예외를 위한 상징적 오류 코드에 대한 접근을 제공하며, 숫자 코드를 상징적 이름으로 다시 매핑하는 errorcode 딕셔너리도 함께 제공합니다.

상수

아래의 오류 코드는 ANSI C / POSIX 표준에 기반하며, 각 코드는 E로 시작하는 상징적 이름을 가진 정수입니다. 이것들은 OpenMV Cam에서 제공되는 코드입니다. 오류 코드는 일반적으로 exc.errno로 접근하며, 여기서 excOSError의 인스턴스입니다. 사용 예:

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

잘못된 파일 디스크립터입니다.

errno.EAGAIN: int

리소스를 일시적으로 사용할 수 없습니다. 그렇지 않으면 블로킹될 논블로킹 연산(예: 소켓 읽기/쓰기)에서 반환됩니다.

errno.ENOMEM: int

메모리 부족입니다.

errno.EACCES: int

권한이 거부되었습니다.

errno.EEXIST: int

파일 또는 디렉터리가 이미 존재합니다.

errno.ENODEV: int

그러한 장치가 없습니다.

errno.EISDIR: int

디렉터리입니다(파일이 필요한 연산이 디렉터리에 적용되었습니다).

errno.EINVAL: int

잘못된 인자입니다.

errno.EOPNOTSUPP: int

소켓 또는 장치에서 지원되지 않는 연산입니다.

errno.EADDRINUSE: int

주소가 이미 사용 중입니다.

errno.ECONNABORTED: int

연결이 중단되었습니다.

errno.ECONNRESET: int

연결이 상대방에 의해 재설정되었습니다.

errno.ENOBUFS: int

사용 가능한 버퍼 공간이 없습니다.

errno.ENOTCONN: int

소켓이 연결되어 있지 않습니다.

errno.ETIMEDOUT: int

연결 또는 연산 시간이 초과되었습니다.

errno.ECONNREFUSED: int

연결이 거부되었습니다.

errno.EHOSTUNREACH: int

호스트에 연결할 수 없습니다(호스트로의 경로 없음).

errno.EALREADY: int

연산이 이미 진행 중입니다.

errno.EINPROGRESS: int

연산이 현재 진행 중입니다(예: 논블로킹 connect()).

errno.errorcode: dict[int, str]

각 숫자 오류 코드를 상징적 이름이 담긴 문자열로 매핑하는 딕셔너리:

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