본문으로 건너뛰기
Advertisement

C: 에러 처리와 안정성

C 언어는 고차원 언어와 같은 예외 처리(try-catch) 문법이 없으므로, 함수의 반환값이나 상태 변수를 통해 에러를 처리해야 합니다.

1. 반환값을 통한 에러 체크

많은 C 표준 함수들은 성공 시 0이나 양수를, 실패 시 -1이나 NULL을 반환합니다.

#include <stdio.h>

int main() {
FILE *fp = fopen("nonexistent.txt", "r");

if (fp == NULL) {
printf("에러: 파일을 열 수 없습니다.\n");
return 1; // 비정상 종료 알림
}

fclose(fp);
return 0;
}

2. exit() 함수 활용

치명적인 에러 발생 시 프로그램을 즉시 종료할 때 사용합니다.

#include <stdlib.h>

if (error_condition) {
exit(EXIT_FAILURE); // 프로그램 강제 종료
}

경고

C에서는 에러 처리를 소홀히 하면 세그먼트 폴트(Segment Fault)와 같은 런타임 오류로 이어질 수 있으므로 반환값 확인이 매우 중요합니다.

Advertisement