I had an interesting time today convincing a client that I had, indeed, fixed a defect, because the client kept getting an error message even though I wasn't. Once I got the client to send me a screen shot of the error message, I was able to fix it within two minutes. Any guesses why he got the message and I didn't?
He got the message because he had an advanced setting in Internet Exploder turned on that I didn't:
The offending line of code contained a common type of hard-to-spot error:
function IsSomethingValid(ctrl) {
var retVal = false;
// if valid, set retVal = true
return retval;
}
The return statement contains the spelling error. In compiled languages, the compiler would flag the line, and you'd have to correct it just to run the program. JavaScript, being interpreted, doesn't blow up until it runs.
Moreover: users don't care what causes an error. The client, in this case, got an error message, and reported a regression defect caused by the original fix. But all he reported was the error, not that it came from IE's JavaScript interpreter. He didn't know where it came from. Nor did he care. Nor, not to put too fine a point on it, should he care.