C Error Handling

Error handling features are not supported by C programming, which is known as exception handling in C++ or in other OOP (Object Oriented Programming) languages. However, there are few methods and variables available in C's header file error.h that is used to locate errors using return values of the function call. In C, the function return NULL or -1 value in case of any error, and there is a global variable errno which sets the error code/number. Hence, the return value can be used to check error while programming.

By principle, the programmer is expected to prevent the program from errors that occur in the first place, and test return values from functions.

C language provides the following functions to represent errors. These are:
  • perror(): This function returns a string to pass to it along with the textual representation of current errno value.
  • strerror(): This function is defined in string.h library and this method return a pointer to the string representation of the present errno value.

Let's see an example to deal with error situation in C:

Example:
/* Divided By zero Error i.e. Exception*/#include <stdio.h>
#include <stdlib.h>

void main() {
   int ddend = 60;
   int dsor = 0;
   int q;

   if( dsor == 0){
      fprintf(stderr, "Division by zero! Exiting...\n");
      getch();
      exit(-1);
   }
   q = ddend / dsor;
   fprintf(stderr, "Value of quotient : %d\n", q);
   getch();
   exit(0);
}

Scroll Back to Top