システムインタフェース

エラー処理

関数が正常に終了しなかった場合は、いくつかの例外を除いて、常に -1 の値がプログラムに戻されます (『man pages section 2: System Calls』で説明している関数では、戻り値が定義されていないものも若干ありますが、これらは例外です)。この場合、プログラムに -1 が戻されるだけでなく、外部宣言されている変数の errno に整数値が設定されます。C プログラムでは、次の文をプログラムに入れておけば errno の値を判定できます。


#include <errno.h>

関数が正常終了すると、errno の値はクリアされません。したがって、この値を検査するのは、関数が -1 を戻した場合だけにしてください。一部の関数は -1 を戻しますが、errno を設定しません。errno が有効な値を持つことが確かである関数については、マニュアルページを参照してください。エラーについては、Intro() を参照してください。

C 言語の perror(3C) 関数を使用すれば、errno の値に対応するエラーメッセージを stderr に出力でき、strerror(3C) 関数を使用すれば、対応する印字可能文字列を取得できます。