I tried simulating how Communications.makeWebRequest would perform when the device had no connection. The behavior seems inconsistent with documentation and also non-functional, since it calls the callback with a varying number of arguments.
Reproduction...