Existence of this topic is discussed in this mathematica.meta post.
I'm sure I am not the only non-beginner in WL who from time to time finds themselves not being able to predict an outcome of a specific function or being surprised it returned something. E.g.:
FileExistsQ[""] (*unevaluated + message*)
I'm talking about cases which have in common that such problematic outcomes could be considered an exception from a convention/best practices, or even an apparent bug. Sometimes they are just that, and sometimes there is a deeper explanation, deep enough not to be obvious when a problem occurs.
Anyway, the time is wasted on debugging or guessing which exceptions to handle.
A cheat-sheet with those cases can facilitate better programming.
Points to be fulfilled by an on-topic answer:
observed behavior deviates from the expected behavior
based on either documentation or a pattern established by other functions, please provide links or explanation.
documented/officially supported features
features that in principle work correctly/as designed
What is NOT on topic:
bug reports
(we should consider allowing exposing bugs reported n versions earlier and still affecting poor programmers)
backward incompatible changes
there is a separate thread for this: Incompatible Changes since Mathematica Version 7?
very localized/subjective report
(need to think how to define them well as the line is blurred here)
An example is worth 1000 words so I will start with the case of ...Q
functions. The whole thread is meant to be community wiki so feel free to suggest/make edits.
Index:
Exceptions in the standard stylesheet/style inheritance stack
Exceptions to "the first option's value wins" rule (the most recent update)
Related links: