Namespaces
Variants

Error numbers

From cppreference.net
< c ‎ | error

<errno.h> で定義される各マクロは、 int 型の一意な正の値を持つ整数定数式に展開されます。以下の定数はISO Cで定義されています。実装は、 'E' で始まり数字または大文字が続く限り、さらに多くの定数を定義することができます。

ヘッダーで定義 <errno.h>
EDOM
関数の定義域外の数学的引数
(マクロ定数)
EILSEQ
(C95)
不正なバイトシーケンス
(マクロ定数)
ERANGE
結果が大きすぎる
(マクロ定数)

目次

注記

多くの追加 errno 定数は POSIX で定義 されており、 C++ 標準ライブラリ でも定義されています。また、個々の実装ではさらに多くの定数を定義する場合があります。例えば、 errno ( 3 ) は Linux で、 intro ( 2 ) は BSD と OS X で定義されています。

#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 エラー <errno.h> (p: 未定)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.5/2 エラー <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