Question:

How can a program be made to print the name of a source file where an error occurs?

Answer:

The ANSI C standard includes a predefined macro named __FILE__ that can be used to insert the current source code filename in your program. This macro, like the __LINE__ macro, can be very valuable when it comes to debugging your program and checking for logic errors. For instance, the following code, includes the filename as well as the line number when logic errors are trapped:

int print_document(char* doc_name, int destination)
{
     switch (destination)
     {
          case TO_FILE:
               print_to_file(doc_name);
               break;
          case TO_SCREEN:
               print_preview(doc_name);
               break;
          case TO_PRINTER:
               print_to_printer(doc_name);
               break;
          default:
               printf("Logic error on line number %d in the file %s!\n",
                         __LINE__, __FILE__);
               exit(1);
     }
}

Now, any erroneous values for the destination parameter can be trapped, and the offending source file and line number can be printed.


Keywords:

© 2017 QuizBucket.org