Namespaces
Variants

Error numbers

From cppreference.net
< c ‎ | error

<errno.h> 에 정의된 각 매크로는 int 타입을 가지며 고유한 양수 값을 갖는 정수 상수 표현식으로 확장됩니다. 다음 상수들은 ISO C에 의해 정의됩니다. 구현체는 숫자나 대문자로 시작하는 'E' 로 시작하는 더 많은 상수들을 정의할 수 있습니다.

헤더 파일에 정의됨 <errno.h>
EDOM
함수의 정의역을 벗어난 수학 인자
(매크로 상수)
EILSEQ
(C95)
잘못된 바이트 시퀀스
(매크로 상수)
ERANGE
결과값이 너무 큼
(매크로 상수)

목차

참고 사항

많은 추가 errno 상수들이 POSIX에 의해 정의되며 , C++ 표준 라이브러리 에 의해서도 정의됩니다. 또한 개별 구현에서는 더 많은 상수들을 정의할 수 있습니다. 예를 들어 Linux에서는 errno ( 3 ) , BSD와 OS X에서는 intro ( 2 ) 와 같은 형태로 정의됩니다.

예제

#include <errno.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
    errno = 0;
    printf("log(-1.0) = %f\n", log(-1.0));
    printf("%s\n\n", strerror(errno));
    errno = 0;
    printf("log(0.0)  = %f\n", log(0.0));
    printf("%s\n", strerror(errno));
}

가능한 출력:

log(-1.0) = nan
Numerical argument out of domain
log(0.0)  = -inf
Numerical result out of range

참고문헌

  • C23 표준 (ISO/IEC 9899:2024):
  • 7.5/2 Errors <errno.h> (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.5/2 Errors <errno.h> (p: TBD)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.5/2 오류 <errno.h> (p: 205)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.5/2 오류 <errno.h> (p: 186)
  • C89/C90 표준 (ISO/IEC 9899:1990):
  • 4.1.3 오류 <errno.h>

참고 항목

POSIX 호환 스레드-로컬 오류 번호 변수로 확장되는 매크로
(매크로 변수)
현재 오류에 해당하는 문자열을 stderr 에 출력
(함수)
주어진 오류 코드에 대한 텍스트 설명을 반환
(함수)
C++ documentation for Error numbers