名前空間
変種
操作

abort

提供: cppreference.com
< c‎ | program
ヘッダ <stdlib.h> で定義
void abort(void);
(C11以前)
_Noreturn void abort(void);
(C11およびそれ以降)

signal に渡されたシグナルハンドラによって SIGABRT がキャッチされそのハンドラが戻らない場合を除き、プログラムを異常終了させます。

atexit() に渡された関数は呼ばれません。 ファイルのような開いているリソースが閉じられるかどうかは処理系定義です。 実行の失敗を表す処理系定義のステータスがホスト環境に返されます。

目次

[編集] 引数

(なし)

[編集] 戻り値

(なし)

[編集] ノート

POSIX は abort() 関数が SIGABRT シグナルのブロックおよび無視をオーバーライドすると 規定しています

[編集]

#include <stdio.h>
#include <stdlib.h>
 
int main(void) 
{
    FILE *fp = fopen("data.txt","r");
    if (fp == NULL) {
       fprintf(stderr, "error opening file data.txt in function main()\n");
       abort();
    }
 
    /* Normal processing continues here. */
    fclose(fp);
    printf("Normal Return\n");
    return 0;
}

出力:

error opening file data.txt in function main()

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.22.4.1 The abort function (p: 350)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.20.4.1 The abort function (p: 315)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.10.4.1 The abort function

[編集] 関連項目

クリーンアップをしてプログラムを正常終了させます
(関数) [edit]
exit() が行われた時に呼ばれる関数を登録します
(関数) [edit]
完全なクリーンアップをせずにプログラムを正常終了させます
(関数) [edit]