The documentation seems to suggest that errors should be handled by catching exceptions, rather than calling getResultCode().
However - Exceptions don't seem to have any sort of a result code set, so it's impossible to detect a network error, for example, without doing string comparisons on the exception message itself.
The workaround seems to be to catch the exception and then call getResultCode() to find exactly what caused it - but that's less than ideal and won't work if getResultCode() is actually removed.
Shouldn't the Exception Code just be set to the appropriate error constant? That value doesn't seem to be currently used.