Supplement explanations with examples that illustrate how to correct the problem.
Not recommended
Invalid email address.
Recommended
The specified email address (robin) is missing an @ sign and a domain name. For example: robin@example.com.
Not recommended
Invalid input.
Recommended
Enter the pathname of a Windows executable file. An executable file ordinarily ends with the .exe suffix. For example: C:\Program Files\Custom Utilities\StringFinder.exe
Not recommended
Do not declare types in the initialization list.
Recommended
Do not declare types in the initialization list. Use calls instead, such as 'BankAccount(owner, IdNum, openDate)' rather than 'BankAccount(string owner, string IdNum, Date openDate)'
Not recommended
Syntax error on token "||", "if" expected.
Recommended
Syntax error in the "if" condition.
The condition is missing an outer pair of parentheses. Add a pair of bounding opening and closing parentheses to the condition. For example:
if (a > 10) || (b == 0) # Incorrect
if ((a > 10) || (b == 0)) # Correct
Multiple choice exercise
Which of the following error messages is best for an audience
of people who drive cars?
The specified license plate (QB2 481) is invalid.
Valid license plates start with three uppercase letters and
end with three digits. For example: MBR 918
and NRS 727 are both valid license plates.
This error message provides two good examples of valid
license plates.
The specified license plate (QB2 481) is invalid because
license plates must start with three letters and end with
three digits.
Although this error message surfaces the invalid input and provides
an explanation of what went wrong, this error message lacks an
example.
The specified license plate (QB2 481) is invalid.
For example: MBR 918
and NRS 727 are both valid license plates.
The error message doesn't provide enough context to make the
examples useful. The user might be asking, "Why are
MBR 918 and NRS 727 valid but QB2 481 is invalid?"
Next unit: Be concise