Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C에서 오류 처리


오류 처리는 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