I have been looking through major Android SDK's (Facebook, Google+, and even Android). What I have noticed is that exceptions never seem to be included in method signatures. Instead what I see is that Exceptions are thrown, but usually only listed in the docs (if you are lucky).
What is up with this practice? Is there some manifesto declaring exceptions in method signatures evil?
Examples:
From android.database.AbstractCursor
void checkPosition()
This function throws CursorIndexOutOfBoundsException if the cursor position is out of bounds.
Why this and not
void checkPosition() throws CursorIndexOutOfBoundsException
I prefer the latter since you can set up your IDE/compiler to actually warn you instead of just praying to the bytecode that the docs mention what is acutally being thrown.