Skip to content

에러 코드 정의 | 3

jeongmin edited this page Feb 2, 2024 · 1 revision

3. Core 파트 에러 (3000 ~ 3999)

Kqueue 클래스 (3000 ~ 3099)

  • 3000: kqueue 생성 실패

    예외 클래스 runtime_error
    예외 메시지 [3000] Kqueue: start - kqueue failed
    발생 원인 kqueue의 할당에 실패한 경우
    예시 _fd = kqueue(); // fd → -1
    설명 Kqueue::start 함수를 호출했는데 kqueue 시스템 콜이 실패한 경우 발생
  • 3001: READ 이벤트 추가 실패

    예외 클래스 runtime_error
    예외 메시지 [3001] Kqueue: addReadEvent - event add failed
    발생 원인 읽기 이벤트를 kqueue에 추가하는데 실패한 경우
    예시 Kqueue::addReadEvent(-1);
    설명 addReadEvent 함수의 kevent 시스템콜이 실패한 경우 발생
  • 3002: WRITE 이벤트 추가 실패

    예외 클래스 runtime_error
    예외 메시지 [3002] Kqueue: addWriteEvent - event add failed
    발생 원인 쓰기 이벤트를 kqueue에 추가하는데 실패한 경우
    예시 Kqueue::addWriteEvent(-1);
    설명 addWriteEvent 함수의 kevent 시스템콜이 실패한 경우 발생
  • 3003: READ 이벤트 제거 실패

    예외 클래스 runtime_error
    예외 메시지 [3003] Kqueue: removeReadEvent - event remove failed
    발생 원인 읽기 이벤트를 kqueue에서 제거하는데 실패한 경우
    예시 Kqueue::removeReadEvent(-1);
    설명 removeReadEvent 함수의 kevent 시스템콜이 실패한 경우 발생
  • 3004: WRITE 이벤트 제거 실패

    예외 클래스 runtime_error
    예외 메시지 [3004] Kqueue: removeWriteEvent - event remove failed
    발생 원인 쓰기 이벤트를 kqueue에서 제거하는데 실패한 경우
    예시 Kqueue::removeWriteEvent(-1);
    설명 removeWriteEvent 함수의 kevent 시스템콜이 실패한 경우 발생
  • 3005: 이벤트 감지 실패

    예외 클래스 runtime_error
    예외 메시지 [3005] Kqueue: getEvent - event detection failed
    발생 원인 kevent로 이벤트 감지에 실패한 경우
    예시 int nev = kevent(_fd, NULL, 0, &tmp, 1, &_timeout); // nev -> -1
    설명 getEvent 함수의 kevnet 시스템콜이 실패한 경우 발생
    단순히 이벤트를 감지하지 못한 경우는 예외가 발생하지 않음

Event 클래스 (3100 ~ 3199)

  • 3100: 잘못된 이벤트 fd

    예외 클래스 runtime_error
    예외 메시지 [3100] Event: Event - invalid fd
    발생 원인 생성자로 전달된 event 구조체의 fd가 잘못된 경우
    예시 _fd = static_cast(event.ident); // → _fd → -1
    설명 event.ident의 값이 잘못된 경우 발생
  • 3101: 정의되어 있지 않은 이벤트 타입

    예외 클래스 runtime_error
    예외 메시지 [3101] Event: Event - undefine event type
    발생 원인 생성자로 전달된 event 구조체의 이벤트 타입이 정의되어 있지 않은 경우
    예시 event.filter == ??
    설명 이벤트 타입이 Event 클래스의 enum에 정의되어 있지 않은 경우 발생
  • 3102: 이벤트 타입이 설정되어 있지 않음

    예외 클래스 runtime_error
    예외 메시지 [3102] Event: getType - event not set
    발생 원인 Event 객체가 event 구조체로 초기화 되지 않은채 함수를 호출한 경우
    예시 Event event = Event();
    event.getType();
    설명 기본 생성자로 선언된 객체에서 함수를 호출한 경우 _fd가 0이므로 발생

Socket 클래스 (3200 ~ 3299)

  • 3200: socket 시스템콜 실패

    예외 클래스 runtime_error
    예외 메시지 [3200] Socket: socket - system call fail
    발생 원인 시스템 콜이 실패한 경우
    예시
    설명 socket 시스템 콜이 실패한 경우 발생
  • 3201: bind 시스템콜 실패

    예외 클래스 runtime_error
    예외 메시지 [3201] Socket: bind - system call fail
    발생 원인 시스템 콜이 실패한 경우
    예시
    설명 bind 시스템 콜이 실패한 경우 발생
  • 3202: listen 시스템콜 실패

    예외 클래스 runtime_error
    예외 메시지 [3202] Socket: listen - system call fail
    발생 원인 시스템 콜이 실패한 경우
    예시
    설명 listen 시스템 콜이 실패한 경우 발생
  • 3203: accept 시스템콜 실패

    예외 클래스 runtime_error
    예외 메시지 [3203] Socket: accept - system call fail
    발생 원인 시스템 콜이 실패한 경우
    예시
    설명 accept 시스템 콜이 실패한 경우 발생
  • 3204: setsockopt 시스템콜 실패

    예외 클래스 runtime_error
    예외 메시지 [3204] Socket: setsockopt - system call fail
    발생 원인 시스템 콜이 실패한 경우
    예시
    설명 setsockopt 시스템 콜이 실패한 경우 발생
  • 3205: fcntl 시스템콜 실패

    예외 클래스 runtime_error
    예외 메시지 [3205] Socket: setNonBlocking - system call fail
    발생 원인 시스템 콜이 실패한 경우
    예시
    설명 fcntl 시스템 콜이 실패한 경우 발생
Clone this wiki locally