An intuitive guess about what the problem is while debugging. Based on context usually garnered from writing and refactoring unit tests that call the code in question. Also based on experience with the given language / programming environment. This is akin to the idea of LeakyAbstractions.
Example: NullPointerException out of this section of the code usually means that my environment is messed up, let's look at the environment to see if it looks ok.
Example: StackOverflowError? usually means that I messed up the "is this the leaf ?" check in my recursive code, let's check that first.