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