Most of the C function calls return -1 or
The C programming language provides
The
The
Important point to note is that you should use
So a C programmer can check the returned values and can take appropriate action depending on the return value. It is a good practice, to set
Divide by zero errors:
It is a good practice, to check the divisor before division operation.
Program Exit Status:
It is a common practice to exit with a value.
NULL in case of any error and set an error code errno. It is set as a global variable and indicates an error occurred during any function call. You can find various error codes defined in <error.h> header file.The C programming language provides
perror() and strerror() functions which can be used to display the text message associated with errno.The
perror() function displays the string you pass to it, followed by a colon, a space, and then the textual representation of the current errno value.The
strerror() function, which returns a pointer to the textual representation of the current errno value.Important point to note is that you should use
stderr file stream to output all the errors.So a C programmer can check the returned values and can take appropriate action depending on the return value. It is a good practice, to set
errno to 0 at the time of initializing a program. A value of 0 indicates that there is no error in the program.
#include <stdio.h>
#include <errno.h>
#include <string.h>
extern int errno ;
int main () {
FILE * pf;
int errnum;
pf = fopen ("unexist.txt", "rb");
if (pf == NULL) {
errnum = errno;
fprintf(stderr, "Value of errno: %d\n", errno);
perror("Error printed by perror");
fprintf(stderr, "Error opening file: %s\n", strerror( errnum ));
}
else {
fclose (pf);
}
return 0;
}
The output of the above program would be,
Value of errno: 2
Error printed by perror: No such file or directory
Error opening file: No such file or directory
Divide by zero errors:
It is a good practice, to check the divisor before division operation.
#include <stdio.h>
#include <stdlib.h>
int main() {
int dividend = 20;
int divisor = 0;
int quotient;
if( divisor == 0){
fprintf(stderr, "Division by zero! Exiting...\n");
exit(-1);
}
quotient = dividend / divisor;
fprintf(stderr, "Value of quotient : %d\n", quotient );
exit(0);
}
The output of the above program would be,
Division by zero! Exiting...
Program Exit Status:
It is a common practice to exit with a value.
#include <stdio.h>
#include <stdlib.h>
int main() {
int dividend = 20;
int divisor = 5;
int quotient;
if( divisor == 0) {
fprintf(stderr, "Division by zero! Exiting...\n");
exit(EXIT_FAILURE);
}
quotient = dividend / divisor;
fprintf(stderr, "Value of quotient : %d\n", quotient );
exit(EXIT_SUCCESS);
}
The output of the above program would be,
Value of quotient : 4
Related topics:
Standard Input-Output in C | File Handling in C | Preprocessors in C | Header Files in C | Type Casting in C
List of topics: C Programming
No comments:
Post a Comment