오류 처리는 C 언어에서 지원되지 않습니다. C 언어에서 오류 처리를 수행할 수 있는 몇 가지 다른 방법이 있습니다. 헤더 파일 "error.h"는 return 문 함수를 사용하여 오류를 인쇄하는 데 사용됩니다.
오류가 발생하면 -1 또는 NULL을 반환하고 오류 코드와 함께 errno 변수가 설정됩니다. C 언어에서 함수가 호출될 때마다 errno 변수가 연결됩니다. errno는 전역 변수이며 실행에서 오류 유형을 찾는 데 사용됩니다.
다음 표는 몇 가지 오류를 보여줍니다 -
| Sr.No | 오류 및 오류 값 |
|---|---|
| 1 | I/O 오류 5 |
| 2 | 해당 파일이나 디렉토리가 없습니다. 2 |
| 3 | 인수 목록이 너무 깁니다. 7 |
| 4 | 메모리 부족 12 |
| 5 | 권한 거부됨 13 |
C 언어에서 오류를 처리하는 몇 가지 방법이 있습니다 -
-
오류() − 이 함수는 오류를 인쇄하는 데 사용되며 현재 errno 값의 텍스트 표현과 함께 문자열을 반환합니다.
-
strerror() − 이 함수는 "string.h" 헤더 파일에 선언되어 있으며 현재 errno 값의 문자열에 대한 포인터를 반환합니다.
-
종료 상태 − 호출 함수에 오류를 알리기 위해 함수 exit()에서 사용할 수 있는 두 개의 상수 EXIT_SUCCESS 및 EXIT_FAILURE가 있습니다.
-
0으로 나눈 값 − C 언어에서 이 오류를 처리하기 위해 아무 것도 할 수 없는 상황입니다. 이 오류를 피하고 프로그램에서 'if' 조건을 사용하여 제수 값을 확인할 수 있습니다.
다음은 C 언어의 오류 처리 예입니다.
예시
#include <stdio.h>
#include <stdlib.h>
main() {
int x = 28;
int y = 8;
int z;
if( y == 0) {
fprintf(stderr, "Division by zero!\n");
exit(EXIT_FAILURE);
}
z = x / y;
fprintf(stderr, "Value of z : %d\n", z );
exit(EXIT_SUCCESS);
} 출력
다음은 출력입니다.
Value of z : 3