file and line number
line within that file where the error was detected, and an error description
The major and minor errors must be in the same error class.
The function name, filename, and error description strings must be statically allocated.
msg can be a format control string with additional arguments. This design of appending additional arguments is similar to the system and C functions