gotcha
n.
A misfeature of a system, especially a programming language or environment, that tends to breed bugs or mistakes because it is both enticingly easy to invoke and completely unexpected and/or unreasonable in its outcome.
For example, a classic gotcha in C is the fact that if (a=b) {code;
} is syntactically valid and sometimes even correct.
It puts the value of b
into a
and then executes code
if a
is non-zero.
What the programmer probably meant was if (a==b) {code;
}, which executes code
if a
and b
are equal.